[英]Print R-squared for all of the models fit with lmList
我使用lmList
來適應480個關系,我想要其中每個的R2。
這是一個示例數據集和模型,它非常接近它的真實情況,除了我有480歐元(實驗單位):
eu mass day
11 .02 1
11 .03 2
11 .04 3
11 .06 4
12 .01 1
12 .03 2
12 .04 3
12 .05 4
fit<-lmList(mass ~ day | eu, data=df)
打印fit
或summary
不會給我我想要的信息。 我最終試圖創建一個新的數據框,看起來像:
eu intercept slope R2
11 .01 .95 .98
12 .01 .96 .98
我通過coef
獲得了系數,現在我需要R平方。
干得好:
sapply(fit,function(x) summary(x)$r.squared)
11 12
0.9657143 0.9657143
或者一次完成所有事情:
sumfun <- function(x) c(coef(x),summary(x)$r.squared)
t(sapply(fit,sumfun))
(您需要從sapply
轉置結果以獲取上面指定的表)。 然后使用names() <-
或setNames()
以您希望的方式獲取列名。
使用Ben Bolker的代碼,你可以創建一個轉換結果的函數,並一次性提供表格:
sumfun <- function(x)
{
aux <- function(x) c(coef(x), summary(x)$r.squared)
t(sapply(x,aux))
}
sumfun(fit)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.