通过几个数据框删除na列

时间:2019-05-26 15:16:20

标签: r

我想删除几个数据框中充满na值的列 我试图使用一个函数并遍历数据框列表,但无法正常工作

我想获取列表中没有na列的每个数据框作为输出

1 个答案:

答案 0 :(得分:0)

我们可以将数据集放在list中,然后将其删除

lst1 <- lapply(lst, function(dat) Filter(function(x) !all(is.na(x)), dat))
lst1
#[[1]]
#  col2 col3
#1   NA   12
#2   24   22

#[[2]]
#  col2 col3
#1   NA   12
#2   24   22

在OP的代码中,

data_frame_list <- paste0('df_',unique(df3$DATE))

只是一个字符串,我们可以使用mget

获取值
lst2 <- mget(paste0('df_',unique(df3$DATE)))

数据

df1 <- data.frame(col1 = NA, col2 = c(NA, 24), col3 = c(12, 22))
df2 <- df1
lst <- mget(paste0("df", 1:2))