分离物种注释表中的分类信息

文章介绍了使用R的tidyverse包对微生物OTU表进行清洗和整理的过程,包括去除非标准字符、处理缺失值和低频分类。
摘要由CSDN通过智能技术生成

处理前
处理后
otu_taxa_tableNORMAL <- read.csv("D:/test/16sOTU/reslut/otu_taxa_tableNORMAL.csv", row.names=1)
library(tidyverse)#加载tidyverse包
otu2 <- otu_taxa_tableNORMAL %>%
separate(taxonomy,c("Domain","Phylum","Class","Order","Family","Genus","Species"),"; ")
##将otu表格重新命名并且把分类的那一列按照分级分为七列,分隔符是“;”

##清理没用的字符
otu2$Domain <- gsub("d__","",otu2$Domain)
otu2$Phylum <- gsub("p__","",otu2$Phylum)
otu2$Class <- gsub("c__","",otu2$Class)
otu2$Order <- gsub("o__","",otu2$Order)
otu2$Family <- gsub("f__","",otu2$Family)
otu2$Genus <- gsub("g__","",otu2$Genus)
otu2$Species <- gsub("s__","",otu2$Species)

write.csv(otu2,"111.csv",row.names = TRUE)

##把门水平缺失的给删了
otu2 <- otu2[complete.cases(otu2$Phylum),]
##把域水平注释成unassignable和unclassified的给删了
otu2 <- otu2[otu2$Domain != "Unassignable",]
otu2 <- otu2[otu2$Domain != "Unclassified",]
##仅保留从第一列到倒数第 8 列之间的列之和大于 1 的行
otu2 <- otu2[rowSums(otu2[,1:(ncol(otu2)-7)]) > 1,]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值