如果任何列的值大于某个值,如何对 R 数据框的行进行子集化?
如果任何列的值大于某个值,要对R数据框的行进行子集化,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,使用dplyr包的filter_all函数和any_vars函数,为值大于某个值的任何列对数据帧的行进行子集化。
创建数据框
让我们创建一个数据框,如下所示-
例子
x1<-sample(1:10,20,replace=TRUE) x2<-sample(1:20,20,replace=TRUE) df<-data.frame(x1,x2) df
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x1 x2 1 5 7 2 2 4 3 5 17 4 2 9 5 8 18 6 8 16 7 9 14 8 1 10 9 7 12 10 4 20 11 7 19 12 9 8 13 7 15 14 1 12 15 8 10 16 3 14 17 5 2 18 5 7 19 2 8 20 7 15
子集数据框
加载dplyr包并使用filter_all函数any_vars函数为所有值大于10的列对数据框df的行进行子集化-
例子
x1<-sample(1:10,20,replace=TRUE) x2<-sample(1:20,20,replace=TRUE) df<-data.frame(x1,x2) library(dplyr) df %>% filter_all(any_vars(.>10))
输出
x1 x2 1 5 17 2 8 18 3 8 16 4 9 14 5 7 12 6 4 20 7 7 19 8 7 15 9 1 12 10 3 14 11 7 15