2014-08-31 67 views
2

运行像后:拼抢R^2,从线性模型中的R

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

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

回答

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

如何使用summary(mod.1)$写出可用数字列表? – David 2014-08-31 19:36:51

+0

str(summary(mod.1)) – 2014-08-31 20:14:54

+0

等价地,'?summary.lm' – shadowtalker 2014-08-31 20:45:41

4

R平方实际上不是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)

+0

两个很好的答案。谢谢。 – David 2014-08-31 19:33:30