从R中的线性模型中抓取R ^ 2

时间:2014-08-31 04:39:04

标签: r

运行类似:

之后
mod.1<-lm(z~x+y)

我知道我可以做摘要(mod.1)并查看$ R ^ 2 $值。我想知道如何从mod.1中获取它,有点像用mod.1 $系数来获取系数。

2 个答案:

答案 0 :(得分:4)

mod.1 = lm(c(1,2,3)~ c(1,2.3,3.4))
summary(mod.1)$r.squared

答案 1 :(得分:4)

R-squared实际上不是lm对象本身的元素,而是summary(mod.1)的元素。也就是说,如果您键入str(summary(mod.1)),您会看到摘要本身就是一个列表(使用特殊的print方法),其中一个列表项是R平方。

但是,对于程序化使用,仅提取一个元素来计算整个摘要效率很低。滚动自己的提取器函数通常会导致代码更快,特别是如果使用参数lm调用y = TRUE。然后R平方就是1 - sum(mod.1$residuals^2)/sum((mod.1$y - mean(mod.1$y))^2)