如何遍历数据帧并删除空列(在R中)?

时间:2019-10-10 08:23:45

标签: r for-loop lapply

我想使用for循环或lapply删除多个数据帧的空列。

我的数据框始终以“ test.xxx”开头。

如果我按如下所述一步一步做,就可以了。

test.acc_consoles2 <- Filter(function(x)!all(is.na(x) || is.null(x) || x == "" || x == 0), test.acc_consoles2)

但是,如果我使用for循环或lapply,则无法使用。我已经尝试了以下代码。

for(i in lst) {
  i <- Filter(function(x)!all(is.na(x) || is.null(x) || x == "" || x == 0),x=i)
}

我想拥有没有空列的干净数据框。既然有189个数据帧,我想使用lapply或for循环。

1 个答案:

答案 0 :(得分:0)

我们可以使用lapply并从列表中的每个数据框中过滤列

output <- lapply(lst, function(df) 
     Filter(function(x)!all(is.na(x) || is.null(x) || x == "" || x == 0),df))