如果所有列的值都大于某个值,如何对 R 数据框的行进行子集
如果所有列的值都大于某个值,要对R数据框的行进行子集化,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,使用dplyr包的filter_all函数和all_vars函数为所有值大于某个值的列对数据帧的行进行子集化。
创建数据框
让我们创建一个数据框,如下所示-
例子
x1<-rnorm(20) x2<-rnorm(20) x3<-rnorm(20) df<-data.frame(x1,x2,x3) df
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
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