首页 > 解决方案 > 如何将 glm 摘要取消列出到日期框架中

问题描述

让我们考虑一下摘要列表:

set.seed(42)
bin_var <- sample(0:1, 125, T)
indep_1 <- rnorm(125)
indep_2 <- rexp(125)
indep_3 <- runif(125)

summary_list <- list(summary(glm(bin_var~indep_1)),
                     summary(glm(bin_var~indep_2)),
                     summary(glm(bin_var~indep_3))) 

我想要结束的是包含这些摘要但每个都是数据框格式的相同列表。

要将 summary.glm 转换为数据框,我们只需要使用:

summary_list[[1]]$coefficients

所以我的想法是使用:

lapply(summary_list,"$", "coefficients")

但它只给出 NULL。你知道怎么做吗?

标签: rlistglmsummary

解决方案


另一种方法如下:

do.call('rbind', 
        lapply(seq_len(length(summary_list)), 
               function(i) coefficients(summary_list[[i]])))

产生:

# Estimate Std. Error    t value     Pr(>|t|)
# (Intercept)  0.56664011 0.04473468 12.6666853 4.779611e-24
# indep_1     -0.01879638 0.04246236 -0.4426597 6.587894e-01
# (Intercept)  0.58719761 0.06862352  8.5567986 3.891567e-14
# indep_2     -0.01719474 0.04668204 -0.3683373 7.132549e-01
# (Intercept)  0.39294331 0.09647586  4.0729705 8.253436e-05
# indep_3      0.34647724 0.17000447  2.0380478 4.368955e-02

推荐阅读