You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

条件约束排序的adjusted R2:偏排序模型选择后计算方法的正确性咨询

Adjusted R² for Partial Constrained Ordination: RsquareAdj vs. Ezekiel's Formula

Great question—this is a common point of confusion when refining partial constrained ordination models after selection, so let’s break this down clearly:

1. Using RsquareAdj(mod.sel) is the correct approach

If your mod.sel is a final partial ordination model object (e.g., partial RDA or CCA from the vegan package, obtained via model selection tools like ordistep()), calling RsquareAdj(mod.sel) is the right choice.

Here’s why:

  • The RsquareAdj() function in vegan is purpose-built for ordination models, including partial ordinations. It automatically accounts for the unique structure of partial models, specifically adjusting for the degrees of freedom consumed by both your focal explanatory variables and the covariables you’re controlling for.
  • When you run a partial ordination, the model’s residual variance is calculated after removing the effect of covariables. RsquareAdj() uses the correct denominator for adjustment, which includes subtracting both the number of covariables and selected explanatory variables from the sample size (minus 1), rather than just the explanatory variables alone.

2. Ezekiel’s formula is not appropriate here

Ezekiel’s classic adjusted R² formula (1 - (1 - R²) * (n - 1)/(n - p - 1)) works for simple linear regression, but it falls short for partial constrained ordination:

  • It doesn’t account for the covariables included in the partial model. These covariables consume degrees of freedom just like your focal predictors, and ignoring them will lead to an overestimated adjusted R² (since the denominator will be too large, reducing the penalty for model complexity).
  • For example, if you have 50 samples, 3 covariables, and 2 selected predictors, Ezekiel’s formula would use n - p -1 = 50 -2 -1 =47 as the denominator. But the correct denominator for a partial ordination should be n -1 -3 -2 =44, which is what RsquareAdj() uses. The difference here leads to an inflated adjusted R² value if you use Ezekiel’s formula manually.

Quick Takeaway

Save yourself the manual calculation and potential errors—rely on RsquareAdj(mod.sel) for your partial ordination model. It’s designed to handle the nuances of these models, including the adjustment for covariables, and will give you a statistically valid adjusted R².

内容的提问来源于stack exchange,提问作者Remi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:51:05