我正在使用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)
我想避免解决方程式......
感谢您的帮助!
答案 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