如何对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

更新于: 2021年8月13日

307 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告