2014-02-25 78 views
0

我有用by創建的迴歸模型。我知道我可以使用sapply爲每個因素提取模型的特定部分,但如果我想要整個summary,anova等等,該怎麼辦?從「by」對象提取摘要和ANOVA等輸出

model <- with(data, by(data, factor, function(data) lm(y ~ x, data=data))) 
+0

歡迎來到SO!下一次,請發佈[**最小,可重現的示例**](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610)。在嘗試幫助您時,它使測試代碼變得更容易。乾杯。 – Henrik

回答

1

sapply將強制的summary.lmanova.lm結果,以一個矩陣。我想你可能想要使用lapply,它在由by生成的列表中的每個元素上應用函數(這裏是summary),並返回一個列表。

models <- by(warpbreaks, warpbreaks$tension, function(x){ 
    lm(breaks ~ wool, data = x) 
    }) 

lapply(models, summary)