|||
R语言PCA分析过程梳理及注意事项
主成分分析PCA (Principal Component Analysis) 在生态学研究中比较常用,也有很多变化和外推形式: 如基于转化的PCA(Transformation-based Principal Component Analysis, tb-PCA)和主坐标分析(Principal Coordinate Analysis, PCoA)等。这些分析存在数据转化以及所使用距离矩阵上的差异,但总体分析过程大同小异,所以对整体过程进行梳理。关于PCA分析原理, 暂推荐 http://blog.csdn.net/zhongkelee/article/details/44064401,即通过降维找到能区分数据的最主要特征,如图一: 4个处理下的样品,每个样品检测了3个基因,用3个维度表示,直接观察十分杂乱,但通过降维可以明显区分,且最大程度保留原本数据信息。关于使用vegan包进行PCA分析详细过程,推荐 http://blog.sciencenet.cn/u/lyao222lll,非常详尽。
示例数据格式
library("FactoMineR") ##PCA相关包1
library("factoextra") ##PCA相关包2, 1和2同时需要
library(vegan) # 传统PCA分析包1,使用vegan包分析使用RDA函数
library(permute) # 传统PCA分析包2
library(lattice) # 传统PCA分析包3
library("ggplot2") # 作图使用
dataplfa1<-read.table("clipboard",header=T,fill=TRUE) #示例数据导入, Treatment 那一列放在最前可能会导致PCA分析无法运行,产生“variables are not quantitative: Treatment”的错误。R自身问题,默认将变量视为因子。
##matrix < as.numeric(as.matrix(dataplfa1)) 不放在最后也可以,运行这两行代码
##dim(matrix) <- dim(dataplfa1)。
res.pca<- PCA(dataplfa1[,-6], graph = FALSE) #PCA分析,vegan包分析使用RDA函数
fviz_eig(res.pca1, addlabels = TRUE, ylim = c(0, 50)) ## Scree plot碎石图,看每一个轴能够解释变异的大小,一般是前两轴
fviz_pca_ind(res.pca1, geom.ind = "point",col.ind = dataplfa1$Treatment, addEllipses =TRUE, legend.title=" Treatment" ) #相关包1和2 自带作图函数,很强大
summary(res.pca1) # 提取主要信息
md<-res.pca1$ind # 单独提取位置信息,能看到每个样品在新的坐标轴(即PC1和PC2)上的位置坐标,同时与微生物类群做相关性分析,以判断每一条轴主要涉及到哪些微生物群落变化,方便后续对结果进行描述。与RDA类似,同样可以使用ggplot2 对处理过的位置信息进行作图。
dataadon1<-read.table("clipboard",header=T)
dataadon2<-read.table("clipboard",header=T,fill=TRUE)
adon<-adonis(dataadon1~Treatment,dataadon2,permutations=999,distance='euclidean') # 做完图之后进行permutational multivariate analysis of variance (PERMANOVA),置换检验,回答氮素水平的影响是否显著。现在有些文章不仅提供整体的检验,还要比较不同氮素水平影响即成对比较,我暂时没有用到,但是单独加载要比较的两个处理的数据是可以实现的,代码不变,就是麻烦一些。
FactoMineR和factoextra功能强大,前者分析,后者将结果可视化并完成解读,不仅可以做PCA,还可以做CA,MCA,MFA,大概区分如下图,这里推荐http://www.sthda.com/english/articles/22-principal-component-methods-videos/,说推荐其实是怕自己以后找不到了,里面也有以上这几种分析的具体流程,很详细,很多以后会用到,还有一本书(有电子版),可以看看。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 07:09
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社