【问题标题】:Vegan RDA and biplot, remove values contributing >10% of variance纯 RDA 和双标图,删除贡献大于 10% 方差的值
【发布时间】:2020-05-19 12:26:45
【问题描述】:

我正在使用 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

任何帮助将不胜感激:)

【问题讨论】:

    标签: r statistics rda biplot


    【解决方案1】:

    根据数据集的大小,可以使用 ordistep 或 ordiR2step 来减少图中“不重要”变量的数量(请参阅https://www.rdocumentation.org/packages/vegan/versions/2.4-2/topics/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
    

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

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      相关资源
      最近更新 更多