你如何通过抽样地点绘制稀疏地块?

时间:2017-08-02 13:47:27

标签: r bioinformatics vegan qiime

我的问题的简化版本:

我有一个OTU表,其中有三个站点有60个样本点(每个样本点都有不同的OTU):A,B和C.每个站点有20个样本。

我想绘制每个站点的稀疏曲线:A,B和C.我想查看站点的曲线是否稳定 - 以检查是否足够'从每个站点采集序列。

目前我正在这样做:

raremax <- min(rowSums(otu.table))
rarecurve(otu.table, sample = raremax)

目前,每个样本点都被绘制为单独的曲线 - 这不是我想要的 - 我想绘制每个采样点的整体曲线。

1 个答案:

答案 0 :(得分:0)

对于第二种选择,您必须按地点对物种数量求和。这将忽略站点采样单元之间的所有差异(有些人称之为β多样性),并将采样单元视为简单的重复。如果要发布结果,可能需要证明您对审阅者的处理方法是正确的。

使用标准 R ,您可以使用aggregate来获取总和。以下示例使用素食数据集mitemite.env

rarecurve(aggregate(mite, list(mite.env$Shrub), sum)[,-1])

aggregate会添加一个您必须删除的列,并且您不会为曲线添加标签。稍微多一点的方式也会给你起名字:

rarecurve(sapply(mite, function(x) sapply(split(x, mite.env$Shrub), sum)))
rarecurve(t(sapply(split(mite, mite.env$Shrub), colSums))) # alternatively

为此,您的数据必须是data.frame ---矩阵将失败。