簡體   English   中英

打印適用於lmList的所有型號的R平方

[英]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)

打印fitsummary不會給我我想要的信息。 我最終試圖創建一個新的數據框,看起來像:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM