如何在R语言中基于两类婚姻状态值创建新的single分类变量?
解决你的R语言变量转换问题
嗨,刚接触R的话能写出这样的代码已经很棒啦!咱们来把你的代码调整好,完美实现需求:
首先,你需要注意两个小细节,再加上OR运算符:
- R里只认英文引号,你代码里的中文引号要换成英文双引号
- 原代码里
" Single"多了个前导空格,建议去掉让结果更规范 - R中的向量化OR运算符是
|(竖线),用来同时匹配多个条件
修改后的基础版本代码
dataset <- dataset %>% mutate(single = ifelse(marital == "Married" | marital == "Part of an unmarried couple", "Not Single", "Single"))
更简洁的替代写法(推荐)
当需要匹配多个取值时,用%in%运算符会让代码更简洁易读,尤其是后续要增加匹配值的时候:
dataset <- dataset %>% mutate(single = ifelse(marital %in% c("Married", "Part of an unmarried couple"), "Not Single", "Single"))
验证结果的小技巧
你可以运行下面的代码检查分组是否正确,确保每个marital值都被分到了对应的single类别里:
table(dataset$marital, dataset$single)
内容的提问来源于stack exchange,提问作者Kris Ziegler
相关产品推荐
相关产品推荐

