16s 物种组成


###拆分文件,得到各个层次的丰度文件
library(ggplot2)
library(reshape2)
library(RColorBrewer)


###输入参数设置
otu.input = c("S.otu_tax_table.txt")
otu.groups = c("subsample.txt")
topN = as.integer(30)


### 读取配置文件
otu.data = read.table(otu.input, header = T, sep = "\t", row.names = 1)
otu.group = read.table(otu.groups, header = T, sep = "\t")
mycol=brewer.pal(n = 12, name = "Paired")


### 筛选数据,并百分比化、排顺序、筛选数据
otu.data = otu.data[as.character(otu.group$sample)]     ########### 注意筛选的数据是因子还是字符串
otu.dataPer = prop.table(as.matrix(otu.data), 2)
otu.dataTop = otu.dataPer[order(apply(otu.dataPer,1,sum), decreasing = T)[1:topN],]
other = 1 - colSums(otu.dataTop)
otu.other = as.data.frame(other)
otu.dataN = rbind(otu.dataTop, t(otu.other)) 
otu.dataT = as.data.frame(t(otu.dataN))
otu.dataT$sample = rownames(otu.dataT)

### 转化为长格式数据
otu.dataMelt = melt(otu.dataT, id = 'sample')

###ggplot

ggplot(otu.dataMelt, aes(sample, value, fill=variable)) +
  geom_bar(stat="identity",position="stack") +
  theme_bw() 

dev.off()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值