2

我正在使用 vegan 包进行 RDA,并希望使用 biplot 绘制数据。在我的数据中,我有数百个值。我想做的是将解释的方差限制为一个设定的限制,因此在下面的示例中为 0.1。因此,我可能只说 8 个,而不是 44 个箭头

library (vegan)           # Load library
library(MASS)             # load library
data(varespec)            # Dummy data
vare.pca <- rda(varespec, scale = TRUE)              # RDA anaylsis
biplot(vare.pca, scaling = 3,display = "species")    # Plot data but includes all

## extracts the percentage##
x =(sort(round(100*scores(vare.pca, display = "sp", scaling = 0)[,1]^2, 3), decreasing = TRUE)) 
## Plot percentage    
plot(length(x):1,sort(x)) # plot rank on value of y

任何帮助,将不胜感激 :)

4

1 回答 1

1

根据数据集的大小,可以使用 ordistep 或 ordiR2step 来减少图中“不重要”变量的数量(请参阅https://www.rdocumentation.org/packages/vegan/versions/2.4 -2/主题/ordistep)。但是,这些功能使用逐步选择,需要谨慎使用。逐步选择可以根据 AIC 值、R2 值或 p 值选择包含的参数。对于您的问题,它不会根据这些值的重要性来选择值。这也不意味着这些变量对生物体或生化相互作用有任何意义。然而,逐步选择有助于了解哪些参数可能对数据集中的整体变化有很大影响。下面的简单例子。

rda0 <- rda(varespec ~1, varespec)
rda1 <- rda(varespec ~., varespec)

rdaplotp <- ordistep(rda0, scope = formula(rda1))
plot(rdaplotp, display = "species", type = "n")
text(rdaplotp, display="bp")

因此,通过使用 ordistep 函数,图中显示的物种数量已大大减少(参见下面的图 1)。如果您想删除更多变量(我不建议这样做),一个选项可能是查看双标图的输出并丢弃与主成分相关性最小的变量(见下文),但我会反对它。

sumrda <- summary(rdaplotp)
sumrda$biplot

明智的做法是首先检查您要回答哪个问题,看看是否有任何包含的变量可以被正手忽略。这已经减少了金额。次要编辑:我也有点困惑为什么要删除对捕获的变化有很大贡献的参数。

图。1

于 2020-02-03T23:11:17.213 回答