条件约束排序的adjusted R2:偏排序模型选择后计算方法的正确性咨询
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 inveganis 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 =47as the denominator. But the correct denominator for a partial ordination should ben -1 -3 -2 =44, which is whatRsquareAdj()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

