使用dplyr的select if函数根据范围条件选择列 [英] select columns based on range condition with dplyr's select if function
本文介绍了使用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屋!
查看全文