如何将 glm 摘要取消列出到日期框架中
How to unlist glm summaries into date frames
让我们考虑摘要列表:
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。你知道怎么做吗?
您可以使用匿名函数:
result <- lapply(summary_list,function(x) x$coefficients)
或使用 [[
类似于 $
。
result <- lapply(summary_list, `[[`, 'coefficients')
如果你想要一个数据帧上的所有内容,请使用 do.call(rbind, result)
。
另一种方式如下:
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
让我们考虑摘要列表:
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。你知道怎么做吗?
您可以使用匿名函数:
result <- lapply(summary_list,function(x) x$coefficients)
或使用 [[
类似于 $
。
result <- lapply(summary_list, `[[`, 'coefficients')
如果你想要一个数据帧上的所有内容,请使用 do.call(rbind, result)
。
另一种方式如下:
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