为所有符合lmList的模型打印R平方 [英] Print R-squared for all of the models fit with lmList

查看:118
本文介绍了为所有符合lmList的模型打印R平方的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用lmList来适应480个关系,我希望每个关系的R2.

I used lmList to fit 480 relationships and I would like the R2 of each of these.

这是一个示例数据集和模型,与我的实际情况非常相似,除了我有480 eu(实验单位):

Here is an example dataset and model which are pretty close to what it really looks like, except I have 480 eu (experimental units):

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并没有给我我想要的信息.我最终将尝试制作一个新的数据框,如下所示:

Printing fit or summary does not give me the information I want. I am ultimately trying to make a new dataframe that will look like:

eu    intercept    slope    R2
11     .01          .95     .98
12     .01          .96     .98

我已经通过coef获得了系数,现在我需要R平方.

I've got the coefficients through coef, now I need the R-squared.

推荐答案

在这里:

sapply(fit,function(x) summary(x)$r.squared)
       11        12 
0.9657143 0.9657143 

或者一次完成所有操作:

Or to do everything at once:

sumfun <- function(x) c(coef(x),summary(x)$r.squared)
t(sapply(fit,sumfun))

(您需要对来自sapply的结果进行转置以获得上述指定的表).然后使用names() <-setNames()以所需的方式获取列名.

(you need to transpose the results from sapply to get the table as specified above). Then use names() <- or setNames() to get the column names the way you want them.

这篇关于为所有符合lmList的模型打印R平方的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆