如果所有列的值都大于某个值,如何对 R 数据框的行进行子集

如果所有列的值都大于某个值,要对 R 数据框的行进行子集化,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用 dplyr 包的 filter_all 函数和 all_vars 函数为所有值大于某个值的列对数据帧的行进行子集化。

创建数据框

让我们创建一个数据框,如下所示 -

例子

x1<-rnorm(20)

x2<-rnorm(20)

x3<-rnorm(20)

df<-data.frame(x1,x2,x3)

df

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

      x1             x2       x3

1 -0.31376878 -0.12968316 0.8419411

2 -0.83862302 -1.55831805 0.5412468

3 -0.81062837 -0.28474741 0.9073120

4 -0.50831218 -0.62854883 -0.3554728

5 -0.02295662 -0.01396397 -0.3872239

6 0.53754325 -0.35212127 -1.0889800

7 0.15640887 0.13740119 1.0268027

8 -1.07725923 0.31228013 -0.1728887

9 -0.74389064 -1.27700154 -0.5637569

10 -0.18454349 -0.72006275 1.2916641

11 -0.02374880 -0.43866322 -0.2552326

12 0.36739652 -0.09626434 -0.3846456

13 -1.63167811 -1.78833172 -1.7815582

14 -0.12921857 -0.76465935 -1.0403800

15 0.36201061 0.85615242 -0.8595591

16 1.23294914 1.21579843 2.1846038

17 0.20417021 1.17202100 0.5694823

18 -1.36131961 -0.30325395 -0.6394704

19 0.47171837 -0.32342429 0.5026272

20 -2.04807109 1.16932268 -1.2727892

子集数据框

加载 dplyr 包并使用 filter_all 函数 all_vars 函数为所有值大于 -0.5 的列对数据框 df 的行进行子集化 -

例子

x1<-rnorm(20)

x2<-rnorm(20)

x3<-rnorm(20)

df<-data.frame(x1,x2,x3)

library(dplyr)

df %>% filter_all(all_vars(.>-0.5))

输出

         x1          x2       x3

1 -0.31376878 -0.12968316 0.8419411

2 -0.02295662 -0.01396397 -0.3872239

3 0.15640887 0.13740119 1.0268027

4 -0.02374880 -0.43866322 -0.2552326

5 0.36739652 -0.09626434 -0.3846456

6 1.23294914 1.21579843 2.1846038

7 0.20417021 1.17202100 0.5694823

8 0.47171837 -0.32342429 0.5026272

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

回到顶部