使用dplyr::recode()遇两类报错:Unused Arguments及命名一致性问题求助
问题解决:dplyr recode 报错的原因与修复方案
嘿,我一眼就揪出你代码里的问题啦!
你遇到的第二个报错either all values must be named, or none must be named,根源是在recode函数的参数里,对应"5"的那一行语法写错了——你把"5" = "Between $80,000 - $99,999"写成了"5", "Between $80,000 - $99,999",漏掉了关键的等号=!这就导致这个位置的参数没有被正确命名,违反了dplyr::recode的规则:要么所有替换规则都用旧值=新值的命名格式,要么全用位置匹配的无命名格式。而你之前的Unused Arguments报错,也是因为这个语法错误让R识别到了多余的未命名参数。
下面是修正后的完整代码:
dataTable1 %>% mutate(income = dplyr::recode(income, "1" = "Under $20,000", "2" = "Between $20,000 - $39,999", "3" = "Between $40,000 - $59,999", "4" = "Between $60,000 - $79,999", "5" = "Between $80,000 - $99,999", "6" = "Between $100,000 - $199,999", "7" = "Between $200,000 - $1,000,000", "8" = "Over $1,000,000"))
小提示:使用dplyr::recode做值替换时,一定要确保每一组替换都严格遵循"旧值" = "新值"的格式,这样函数才能正确识别每个旧值对应的新标签哦。
内容的提问来源于stack exchange,提问作者12345qwert6y
相关产品推荐
相关产品推荐

