在数据帧列表上使用 lapply

using lapply on a list of dataframes

我创建了一个名为 "list" 的数据框列表,并且只想 select 列表中每个数据集的某些列。

library(dplyr)
new_list <- lapply(list, select(list, Date))

它 returns 是一个错误,因为 class(list[1]) 不是数据框,但仍然是一个列表。 class(list[[1]]) 是数据框。我不明白,因为我列表中的元素应该是数据框,而且我也不知道如何使用 "lapply"。

感谢您的帮助!

我觉得你的语法有点不对劲。尝试改用匿名函数:

l <- list(mtcars,mtcars)
lapply(l,function(x) select(x,cyl,mpg))

同样值得牢记的是 [ 本身就是一个函数,所以:

new_list <- lapply(list, '[', c("list", "Date"))