r语言 - 从使用lappy对多个数据集应用过滤器函数接收错误



我尝试使用lapply函数将一个函数应用于多个数据集。更具体地说,我尝试对每个数据集应用过滤器,以删除国家=="比利时-卢森堡"的某些行。然而,我收到一个错误。我的代码和错误如下。

datasets <- c("df1", "df2", "df3")
my_func <- function(x) {
x <- x %>%
filter(!country %in% c("Belgium-Luxembourg"))
}
lapply(datasets, my_func)
Error code: Error in UseMethod("filter") : 
no applicable method for 'filter' applied to an object of class "character" 

请注意,当我对每个数据集单独应用过滤器时,我不会收到此错误。

如有任何帮助,不胜感激。

使用mget获取实际列表对象并返回函数的最终输出。

library(dplyr)
datasets <- c("df1", "df2", "df3")
my_func <- function(x) {
x %>% filter(!country %in% c("Belgium-Luxembourg"))
}
result <- lapply(mget(datasets), my_func)

使用

查看原始数据框的更改
list2env(result, .GlobalEnv)

最新更新