如何在具有丰富数据的表上进行 PCA,但将其与 R 中站点的环境参数向量重叠?

Posted

技术标签:

【中文标题】如何在具有丰富数据的表上进行 PCA,但将其与 R 中站点的环境参数向量重叠?【英文标题】:How to conduct PCA on a table with abundance data BUT overlay it with vectors of environmental parameters of the sites in R? 【发布时间】:2018-12-31 01:29:42 【问题描述】:

[下面的图 4 是我需要的结果,其他 2 个图显示了我从我的数据中得到的结果:PCA on environment data or on the enhancement data No duplication of R - how to make PCA biplot 更具可读性或 Plotting pca biplot with ggplot2

它同时在 PCA 中处理丰度和环境数据,使用两个不同的数据框架: 有人告诉我,它应该以这样的方式工作,从 PCA1 获取物种的坐标,而不是使用第二个命令覆盖物种坐标矢量,而不是来自 PCA 1,而是来自与第一个具有相同站点的另一个数据集不是丰富,而是环境数据。

我的教授在 10 年前对abundance 和环境数据进行了 PCA。他将物种丰度数据的主成分分析 (PCA) 的结果与 PCA 分数与可能影响ciliate 分布的环境因素之间的相关性进行了叠加。当我有一个数据框列出了 33 个站点的每种物种的丰度和一个数据框列出了 33 个站点的 12 个不同环境参数时,我该如何在 R 中做到这一点? 所以例如有以下数据

#Create random dataframe of abundance data, I am sure this can be done simpler and more elegant than this ;)
species<-c("spec1", "spec2", "spec3", "spec 4", "spec 5", "spec 6", "spec7")
site1<-c(2,4,19,34,3,6,9)
site2<-c(5,8,9,12,0,1,1)
site3<-c(23,56,7,1,1,1,2)
site4<-c(4,6,2,8,5,1,7)
abundance<-data.frame(species,site1,site2,site3,site4)
rownames(abundance)<-abundance$species
abundance<-abundance[,-1]
#Create random dataframe of abundance data
#environmental parameters of the sites
X<-c("site1","site2","site3","site4")
Temp<-c(24,24.5,23.5,25)
Chla<-c(2.2,1.5,2.0,3.4)
Salinity<-c(24,25,26,23)
Depth<-c(200,400,600,200)
environment<-data.frame(X,Temp,Chla,Salinity,Depth)
rownames(environment)<-environment$X
environment<-environment[,-1]
###PCA on abundance data
#hellinger pre-transformation of abundance data
??decostand
library(vegan)
abu.h<-decostand(abundance,"hellinger")
abu.h.pca<-prcomp(abu.h)
biplot(abu.h.pca)
##and now I would need to discard the sites vectors and overlay it with 
#the environmental sites factors, due to my prof?
?prcomp
envir.PCA<-prcomp(environment,scale = TRUE)
biplot(envir.PCA)
?biplot

【问题讨论】:

感谢您在第一个问题中使用可重现的示例!干得好!一个小小的建议 - 将来它可能有助于超链接或解释特定于您的研究领域的单词,例如纤毛虫或丰富的(此上下文)。最后,这听起来不像是IDE相关的问题,所以rstudio标签可能是不合适的。 另外,这与 PCA 双图和叠加数据的一般情况不同吗?如果没有,*** 上已经有几个现有答案 R - how to make PCA biplot more readable的可能重复 Plotting pca biplot with ggplot2的可能重复 非常感谢您的帮助和编辑!很遗憾,但它与上述主题没有重复。他们都在使用一个数据集!我有两个不同的数据集。 【参考方案1】:

我找到了解决方案: envfit 素食主义者 将环境向量或因子拟合到排序中

【讨论】:

以上是关于如何在具有丰富数据的表上进行 PCA,但将其与 R 中站点的环境参数向量重叠?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL:在具有多个外键依赖项的表上进行更新

SQL Server:在具有两列的表上进行无聚合的旋转

如何从 Prepared 语句中获取行数据,然后将其与 AJAX() 函数一起使用

如何在捕获的照片 android 上进行人脸检测?

如何在 >2 个表上进行外部联接 (Oracle)

具有两个标题行的表排序器