运行类似:
之后mod.1<-lm(z~x+y)
我知道我可以做摘要(mod.1)并查看$ R ^ 2 $值。我想知道如何从mod.1中获取它,有点像用mod.1 $系数来获取系数。
答案 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)
。