Let's consider list of summaries:
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)))
What I want to end up with is identical list containing those summaries but each in data frame format.
To convert summary.glm into data frame we just need to use:
summary_list[[1]]$coefficients
So my idea was to use:
lapply(summary_list,"$", "coefficients")
But it gives only NULLs. Do you know how it can be done ?
You can use an anonymous function :
result <- lapply(summary_list,function(x) x$coefficients)
Or using [[
is similar to $
.
result <- lapply(summary_list, `[[`, 'coefficients')
If you want everything on one dataframe use do.call(rbind, result)
.