dplyr条件选择列(删除列具有< n唯一值)

时间:2017-06-30 14:54:39

标签: r select dplyr tidyverse

我试图从满足特定条件的数据集中删除变量。目前我正在使用一个两步过程来汇总,然后删除满足摘要逻辑操作的列,如下所示:

library(tidyverse)
data <- tibble(
     date = seq.Date(as.Date("2012-01-01"), length.out = 5, by = 'day'),
     x = rep(1, times = 5), 
     y = 1:5
 )
tmp <- data %>% 
  select(-date) %>% 
  summarise_all(funs(length(unique(.))))

tmp <- names(tmp)[tmp<2]
data <- select(data, -one_of(tmp))
rm(tmp)

然后重复sd的过程,意思是等等。我只是想知道是否有更简洁的方法在一个管道集中完成这个。此外,我有一个非常宽的数据帧,所以这需要一段时间才能运行所以任何速度的想法也将受到赞赏。

0 个答案:

没有答案