如何对R数据框进行子集选择,以便在分组列的特定类别中,数值列大于某个特定值?
子集选择是一种常用的技术,它根据分析的目标服务于许多不同的目的。如果需要对数据框进行子集选择,以便在分组列的特定类别中,数值列大于某个特定值,则需要遵循以下步骤:
- 创建数据框。
- 借助 dplyr 包的 filter 函数对数据框进行子集选择。
创建数据框
让我们创建一个如下所示的数据框:
x<-rnorm(20,10,0.25) Gender<-sample(c("Male","Female"),20,replace=TRUE) df<-data.frame(x,Gender) df
执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上会有所不同):
x Gender 1 9.401786 Male 2 10.219677 Male 3 10.126467 Male 4 10.260641 Male 5 10.685478 Male 6 10.006628 Male 7 9.912915 Male 8 10.206531 Male 9 10.366212 Female 10 9.746924 Male 11 10.092994 Male 12 10.291531 Male 13 10.398257 Male 14 9.441365 Male 15 9.479788 Male 16 9.670627 Female 17 10.249913 Female 18 9.718280 Male 19 10.007886 Male 20 9.976768 Male
对数据框进行子集选择
加载 dplyr 包,并在 Gender 为 Male 且 x 大于 10 的情况下对 df 进行子集选择:
library(dplyr) x<-rnorm(20,10,0.25) Gender<-sample(c("Male","Female"),20,replace=TRUE) df<-data.frame(x,Gender) df %>% filter(x>10,Gender=="Male")
输出
x Gender 1 10.21968 Male 2 10.12647 Male 3 10.26064 Male 4 10.68548 Male 5 10.00663 Male 6 10.20653 Male 7 10.09299 Male 8 10.29153 Male 9 10.39826 Male 10 10.00789 Male
广告