如何在具有协变量的 lm 模型中计算由感兴趣的变量解释的方差?

问题描述 投票:0回答:1

我正在 R 中研究协变量的线性回归,看起来像:

lm(x ~ y + a + b + c)

使用summary()函数,我可以获得模型每个变量对应的p值。但是,我只有与整个模型相对应的 R^2,这并不能说明我感兴趣的变量 (y) 的贡献。

如何获得与仅由 y 解释的方差部分相对应的 R^2 ?

我试过了:

sapply(model,function(x) summary(x)$r.squared)

按照此处建议:为所有适合 lmList 的模型打印 R 平方 但它返回`

Error in summary(x)$r.squared : $ operator is invalid for atomic vectors"`

我还建议计算我的模型的 R^2 与没有我感兴趣的变量的线性模型的 R^2 之间的差异。这是一个有效的方法吗? 无论如何,我仍然想知道是否有更简单的方法来做到这一点,例如包含在某些包中。

r statistics lm
1个回答
0
投票

您与您的

sapply
很接近,只是
list
一个完整的和受限的模型并计算
diff
erence,例如

> full <- lm(mpg ~ ., mtcars)
> rest <- lm(mpg ~ . - wt, mtcars)
> diff(sapply(list(full, rest), \(x) summary(x)$r.squared))
[1] -0.02399046

其中重量 wt 似乎可以解释完整模型中每加仑英里数的 2.4% 方差。

© www.soinside.com 2019 - 2024. All rights reserved.