稀释曲线及物种外推
稀释曲线可用vegan包的rarecurve直接画,但是很丑:
可用rarefy得到结果后在ggplot里自己画。核心是设定一个步长,这些步长都用rarefy函数进行重抽,再组合到一起即可。
代码语言:javascript复制 1raremax <- min(rowSums(tdat))
2inter=seq(0,raremax,by=1000)
3drare <- rarefy(tdat,inter)
4rarepoint <- as.data.frame(t(rbind(inter,drare)))
5
6library(reshape2)
7point<-melt(rarepoint,id.vars=c("inter"),variable.name="group",value.name="reads")
8point
9#write.csv(point,'rarecurve')
10library(ggplot2)
11plot_theme = theme(panel.background=element_blank(),
12 panel.grid=element_blank(),
13 axis.line.x=element_line(size=.5, colour="black"),
14 axis.line.y=element_line(size=.5, colour="black"),
15 axis.ticks=element_line(color="black"),
16 axis.text=element_text(color="black", size=20),
17 legend.position="right",
18 legend.background=element_blank(),
19 legend.key=element_blank(),
20 legend.text= element_text(size=20),
21 text=element_text(family="sans", size=20))
22p = ggplot() geom_line(dat=point,aes(x=inter,y=reads,group=group),color=as.numeric(point$group),size=2) plot_theme
23p
只是示意图,我知道还是很丑。。。
另外还发现了几个函数可用于估计多样性。
specpool可以计算Chao,Jack1,Jack2和Bootstrap的值及他们对应的se,它基于incidence的数据。
而estimateR可得到Chao1和ACE及他们的se,它基于abundance数据。
跟这两个对应的还有两个函数,这两个函数可以进行外推,估计未观测到的物种并计算理论值:
poolaccum得到Species, Chao, Jack1, Jack2 和Bootstrap,以及每个值的 2.5%,97.5%,Std.Dev,它基于incidence数据。
estaccumR得到Species,Chao和ACE,基于abundance数据。
poolaccum的结果
群落中的指示物种
labdsv包的indval函数可计算群落中的指示物种。结果中每个OTU都会得到一个P值。挑出P小于0.05的OTU即为指示物种。计算原理可以简单理解为考察物种组内相对频率与相对丰度的乘积。
这个图为按照H2的含量进行分组,这些指示物种在每组中的相对丰度。
另外,isamic也可以计算指示物种。其原理为找到组内经常出现或者缺失的物种,即计算出现率。
向前筛选和向后筛选
vegan中有专门针对约束排序(cca,rda,dbrda[capscale])的向前和向后筛选函数ordistep。 而ordiR2step仅针对rda或dbrda的结果依赖adjusted R2 和 P-value进行向前筛选。
将dist和矩阵转成database
我以前一直用as.vector,但是在这里看到一种新方法,用simba包的liste,确实好用!
Mantel test
代码中出现了两种计算mantel的函数,分别为: vegan包的mantel,输入类型为矩阵或dist;
ape包mantel.test,输入必须是矩阵
adonis 和 adonis2
代码中应用了adonis2计算,而我平时用adonis。两者的区别没太看懂,直接放英文: adonis performs a sequential test of terms。 adonis2 can perform sequential, marginal and overall tests. Function adonis2 also allows using additive constants or squareroot of dissimilarities to avoid negative eigenvalues,but both functions can handle semimetric indices (such as Bray-Curtis) that produce negative eigenvalues.
且adonis2更慢。
betadisper
betadisper函数可检验多元变量方差齐性。原理是将样本之间的距离降维到主坐标来代表非欧距离,也可以代表样本之间的beta多样性。我感觉跟PCoA有点像。其结果也是 PCoA来表示。放个图:
mantel.correlog
mantel.correlog可计算距离与mantel相关性的关系,放个图说明:
END