从多个数据框的列表中提取特定的列,并将它们组合成r中的新数据框

时间:2018-08-26 22:53:55

标签: r list for-loop dataframe lapply

如何提取列表中多个数据帧的特定列,例如所有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)

1 个答案:

答案 0 :(得分:2)

您可以使用lapplydo.call来实现:

library(magrittr)
lapply(list_of_dfs,function(i) i[,8]) %>% do.call(cbind,.) %>% data.frame