如果任何列的值大于某个值,如何对 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 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

以上是 如果任何列的值大于某个值,如何对 R 数据框的行进行子集化? 的全部内容, 来源链接: utcz.com/z/317445.html

回到顶部