R语言|绘制稀释曲线

Python031

R语言|绘制稀释曲线,第1张

alpha多样性指数的大小是与使用的ASV/OTU表的抽平深度有关,为探究样本alpha多样性随抽平深度的变化曲线,可绘制稀释曲线(rarefaction curve),这是生态领域的一种常用方法。 稀释曲线通过从每个样本中随机抽取一定数量的序列(即在不超过现有样本测序量的某个深度下进行重新抽样),可以预测在一系列给定的测序深度下,所可能包含的物种总数及其中每个物种的相对丰度。因此,通过绘制稀释曲线,还可以在相同测序深度下,通过比较样本中ASV/OTU数的多少,从而在一定程度上衡量每个样本的多样性高低。 Richness指数(物种丰富度指数)的Alpha多样性曲线在很多情况下等同于稀释曲线(rarefaction curve)。下面我开始绘制简单的稀释曲线和Richness指数曲线。 数据文件长这样: 1.调用相关R包,读取otu物种丰度表; 2.定义函数; 3.vegan包rarecurve()可以直接绘制稀释曲线; 4.下面绘制Richness指数曲线 稀释曲线可直接反映测序数据量的合理性,并间接反映样品中物种的丰富程度,当曲线趋向平坦时,说明测序数据量渐进合理,更多的数据量只会产生少量新OTUs(物种);反之表明不饱和,增加数据量可以发现更多OTUs。

curve()接受的第一个参数可以是一个关于x(一维变量)的函数,可以直接写成f(x)(f是定义好的函数)。

dunif()是均一分布的密度函数,第一个参数是要求密度的点,第二、三的参数给出均一分布的最小最大值。

所以合起来就是要画出U(0,1)的密度函数。