如何从OMI分析中提取变量中的质心坐标

时间:2015-11-12 15:27:28

标签: r pca

我正在使用ade4包中的OMI分析,它工作正常。我在2轴(轴1,轴2)和变量坐标(Var1,Var2,Var3)上得到了物质质心坐标(sp1,sp2,sp3,sp4),也在2轴上。

是否有自动获取变量质心值的方法(sp1质心位于PCA的一个区域,Var1 = ..,var2 = ...,var3 = ......)?

这是一个例子,4个样本,有4个物种和3个环境变量:

env=cbind.data.frame(
Var1= c(2.3,5,6.9,2.4),
Var2=c(0.1,0.1,0.5,0.6),
Var3=c(1500,1200,1200,1200)
)
sp=cbind.data.frame(
Sp1= c(0 ,0,4,4),
Sp2=c(2,10,7,15),
Sp3=c(20,34,33,27),
Sp4=c(0,0,6,0)
)
pca.env=dudi.pca(env, scannf=FALSE)

nic=niche(pca.env, sp, scannf=FALSE)
plot(nic)

我想避免解决方程式......

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

加载help(niche)包后,只需使用ade4下的说明即可。您正在寻找的内容似乎是tab

library("ade4")
env=cbind.data.frame(
  Var1= c(2.3,5,6.9,2.4),
  Var2=c(0.1,0.1,0.5,0.6),
  Var3=c(1500,1200,1200,1200)
)
sp=cbind.data.frame(
  Sp1= c(0 ,0,4,4),
  Sp2=c(2,10,7,15),
  Sp3=c(20,34,33,27),
  Sp4=c(0,0,6,0)
)
pca.env=dudi.pca(env, scannf=FALSE)
nic=niche(pca.env, sp, scannf=FALSE)

names(nic)
 [1] "tab"  "cw"   "lw"   "eig"  "rank" "nf"   "c1"   "li"   "co"   "l1"   "call" "ls"   "as"  
nic$tab
           Var1       Var2       Var3
Sp1  0.26020147 0.98787834 -0.5773503
Sp2 -0.03367313 0.34220622 -0.4415031
Sp3  0.16159881 0.04043946 -0.1721922
Sp4  1.43110811 0.76834982 -0.5773503