如果任何列的值大于某个值,如何对 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(this output will vary on your system due to randomization)-
输出
x1 x21 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 x21 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
以上是 如果任何列的值大于某个值,如何对 R 数据框的行进行子集化? 的全部内容, 来源链接: utcz.com/z/317445.html