首页 > 解决方案 > 在多个虚拟变量的 R 中创建数据框的子集

问题描述

我有一个包含许多变量的数据框(df),包括虚拟变量、黑色(编码 0,1)、种族(编码 1、2、3、4)和男性(编码 0,1)。

我想创建一个只有黑色=1、种族=4 和男性=1 的数据框子集。

我试过了

subset_df<- subset(df, black==1 | race==4 |male==1, select=c(black, race, male))

我最终得到了一个包含 3 个变量的新数据框,但观察结果不正确。我也试过

subset_df<- subset(df, black==1 & race==4 & male==1, select=c(black, race, male))

并为我的 3 个变量获取一个空数据框。

标签: r

解决方案


您始终可以为此使用 dplyr:

图书馆(dplyr)

subset_df <- df %>%
    filter(black == 1, race == 4, male == 1)

推荐阅读