如何提取列表中多个数据帧的特定列,例如所有dfs的第8列,并将提取的列合并为一个新的数据帧。
我正在使用for循环,该循环无法提供所需的输出。我更喜欢使用lapply()函数而不是for循环。你知道我该怎么做吗?
new_df <- data.frame()
for(i in 1:length(list_of_dfs)){
col_8 <- list_of_dfs[[i]][8]
new.df[i] <- col_8
}
View(df)
答案 0 :(得分:2)
您可以使用lapply
和do.call
来实现:
library(magrittr)
lapply(list_of_dfs,function(i) i[,8]) %>% do.call(cbind,.) %>% data.frame