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

How to extract centroids coordinates in variables scales from OMI analysis

我正在使用 ade4 包中的 OMI 分析,效果很好。我得到了 2 个轴(axis1,axis2)上的物种质心坐标(sp1,sp2,sp3,sp4),以及也在 2 个轴上的变量坐标(Var1,Var2,Var3)。

是否有一种自动获取变量质心值的方法(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)

我想避免求解方程...

感谢您的帮助!

加载ade4包后,使用help(niche)下的说明即可。您要找的似乎是 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