通过选择旧df的部分(单个变量的部分)来创建新df

时间:2019-05-10 05:36:13

标签: r dataframe

选择变量的一部分 大家好。也许你们中的一些人可以帮助我。

如何选择变量的一部分?

具体来说,我在数据框(csv)中有一个对应于race的列。 1 =高加索人,2 =非洲人。等等。变量的范围为1-9。

我能够像这样单独将它们分开:

black <- df[df[, "race"] == 2,]
white <- df[df[, "race"] == 1,]
hisp <- df[df[, "race"] == 6,]

但是我想要一个包含所有这三个段的新数据框。或编写代码进入我的原始数据帧并仅选择这三个代码。

我尝试失败

races_used <- c(df[df[, "race"] == 1,],df[df[, "race"] == 2,],df[df[, "race"] == 6,])

race2 <- filter(df, [df$race == [1,2,6]])

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用基数R将它们像这样组合起来:

df[df$race %in%  c(1, 2, 6) ,]
subset(df, race %in% c(1, 2, 6))

或使用dplyr

df %>%
  filter(race %in% c(1, 2, 6))

%in%将返回种族为1、2或6的任何行。

或者,您可以使用|(或)操作数,但是它有点冗长(例如race==1 | race==2 | race==6作为过滤条件。