2014-08-31 60 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