根据R中df1和df2之间的匹配在df1中添加新列

时间:2020-11-09 23:10:25

标签: r

我有两个数据集df1和df2,它们共有一个列“ ID”:

df1 <- data.frame(ID=c(1:20), Country=c("US"))
df2 <- data.frame(ID=c(1:10), Gender=c("Female","Male"))

如果df2中存在相同的ID并且是“女性”,如何在df1中添加另一列"Respondents"=="Yes"

1 个答案:

答案 0 :(得分:1)

我们可以对第二个数据集进行联接,并通过检查“性别”是否为“女性”,然后使用case_when将标签标记为“是”来创建“受访者”列

library(dplyr)
df1 <- df1 %>%
  left_join(df2) %>% 
    mutate(Respondents = case_when(Gender == 'Female' ~ "Yes" )) %>%
    select(-Gender)