如果数字列大于分组列中特定类别的某个值,如何对 R 数据框进行子集化?

子集是一种常用的技术,根据分析的目的,它可以用于许多不同的目的。如果数字列大于分组列中特定类别的某个值,要对数据框进行子集化,那么我们需要按照以下步骤操作 -

  • 创建数据框。

  • 借助 dplyr 包的过滤功能对数据框进行子集化。

创建数据框

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

例子

x<-rnorm(20,10,0.25)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(x,Gender)
df

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

输出

       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

对数据框进行子集化

如果 Gender 是 Male 且 x 大于 10,则加载 dplyr 包并子集 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

猜你喜欢