使用dplyr管道删除数据帧列表中的空列
我有一个数据帧列表: DF使用dplyr管道删除数据帧列表中的空列,r,dataframe,dplyr,R,Dataframe,Dplyr,我有一个数据帧列表: DF 列表您可以使用两个select功能: library(dplyr) library(purrr) LIST %>% map(~ .x %>% select(contains("1")) %>% select_if(!all(is.na(.)))) #[[1]] # col_a1 #1 a #2 b #[[2]] #data frame with 0 columns and 2 rows 仅使用一个select功能,我们
列表您可以使用两个
select
功能:
library(dplyr)
library(purrr)
LIST %>% map(~ .x %>% select(contains("1")) %>% select_if(!all(is.na(.))))
#[[1]]
# col_a1
#1 a
#2 b
#[[2]]
#data frame with 0 columns and 2 rows
仅使用一个select
功能,我们可以执行以下操作:
LIST %>% map(~ .x %>% select_if(str_detect(names(.x), '1') &
colSums(!is.na(.x)) > 0))
同样,在R基中:
lapply(LIST, function(x) x[colSums(!is.na(x)) > 0 & grepl('1', names(x))])
library(dplyr)
library(purrr)
LIST %>% map(~ .x %>% select(contains("1")) %>% select_if(!all(is.na(.))))
#[[1]]
# col_a1
#1 a
#2 b
#[[2]]
#data frame with 0 columns and 2 rows
LIST %>% map(~ .x %>% select_if(str_detect(names(.x), '1') &
colSums(!is.na(.x)) > 0))
lapply(LIST, function(x) x[colSums(!is.na(x)) > 0 & grepl('1', names(x))])