使用dplyr的select if函数根据范围条件选择列 [英] select columns based on range condition with dplyr's select if function

查看:260
本文介绍了使用dplyr的select if函数根据范围条件选择列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据集:

 var1 <- c(333, 213, 456)
 var2 <- c(3, 10, 500)
 var3 <- c(356, 813, 856)
 var4 <- c("aaa", "bbb", "ccc")
 var5 <- c(589, 111, 989)

dataset <- data.frame(var1, var2, var3, var4, var5)

我想根据值范围保留列:子集列的所有值都必须在99到1000之间。

I want to keep columns based on values range : all values of subsetted columns must be between 99 an 1000.

我尝试了什么:

library (dplyr)
dataset2 <- dataset %>%
select_if(~.>99 & . <1000)

我做什么想要:

数据集2:var1,var3,var 4

dataset2 : var1, var3, var 4

推荐答案

您也可以这样做:

dataset %>%
 select_if(~ is.numeric(.) && all(between(., 99, 1000)))

  var1 var3 var5
1  333  356  589
2  213  813  111
3  456  856  989

这篇关于使用dplyr的select if函数根据范围条件选择列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆