如果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
执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):
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函数来子集数据框df的行,以获取所有列的值大于10的行:
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
广告