R语言 RDA分析(去冗余物种)

Python011

R语言 RDA分析(去冗余物种),第1张

也做了挺多次RDA分析,自己现在小结一下RDA分析流程:

就我个人而言,虚线前面都是不太经历的步骤,我一般不会主动删去样品的环境信息,因为我接触的菌群这块本来就没有什么多余的环境信息-_-||,所以我的重点放在怎么去除多余OTU或菌群上面。

一般而言,我首先会做一次差异分析,挑选有差异的OTU或菌群进行展示(phyloseq推荐使用DESeq2和edgeR,详见 Waste Not, Want Not: Why Rarefying Microbiome Data Is Inadmissible ),这里不是重点不在赘述。

但是差异OTU或菌群还有可能太多,RDA呈现出来密密麻麻的,调也得调好久,最后还是好不美观。

偶然间,发现envfit不仅可以评估环境因子的显著性,也可以评估物种的相关性和显著性,这为我们进一步去取冗余物种提供了条件,值得记录下来学习。

示例:

R中rmeta程序包是R语言专门进行meta分析的一个程序包,当然类似的meta分析程序包在R语言中非常多,比如 meta,metafor等网页链接

。cochrane是rmeta程序包里面自带的一个用于meta分析的演示数据库。该数 据库是7个随机对照实验的数据,该数据库拥有5个变量(name,ev.trt,n.trt,ev.ctrl,n.ctrl),7个观察值(对应7个随机 对照实验)网页链接

成分分析和探索性因子分析是两种用来探索和简化多变量复杂关系的常用方法。

主成分分析(PCA)是一种将数据降维技巧,它将大量相关变量转化成一组很少的不相关变量,这些无相关变量称为主成分。

探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法。

R基础安装包提供了PCA和EFA的函数,分别是princomp()和factanal()。本章重点介绍psych包中提供的函数,该包提供了比基础函数更丰富和有用的选项。

最常见步骤

1、数据预处理,在计算前请确保数据没有缺失值;

2、选择因子模型,是选择PCA还是EFA,如果选择EFA,需要选择一种估计因子模型,如最大似然法估计;

3、判断要选择的主成分/因子数目;

4、选择主成分/因子;

5、旋转主成分/因子;

6、解释结果;

7、计算主成分或因子得分。

加载psych包

library(ggplot2)

library(psych)

展示基于观测特征值的碎石检验、根据100个随机数据矩阵推导出来的特征值均值、以及大于1的特征值准则(Y=1的水平线)

fa.parallel(USJudgeRatings[, -1], fa = "pc", n.iter = 100, show.legend = FALSE, main = 'Scree plot with parallel analysis')

对数据USJudgeRatings进行主成分分析

pc<-principal(USJudgeRatings[, -1],nfactors=1)

pc