R语言tidyr反向编码报错求助:recode函数参数未识别问题
修复R语言数值型变量反向编码的问题
错误原因
你使用的dplyr::recode()函数处理数值型变量时,不能直接用1=7这类键值对写法(该语法仅适用于字符型变量),这是触发"unused arguments"错误的核心原因。
解决方案
方法1:数学计算(最简洁高效,推荐)
由于stemster_3的取值范围是1-7,反向编码等价于用最大值+1减去原变量值,直接生成数值型结果:
data %>% mutate(r_stemster_3 = 8 - stemster_3)
方法2:正确使用dplyr的recode函数
如果坚持要用recode(),针对数值型变量需调整语法,确保旧值用反引号包裹,且输出值指定为整数类型(加L):
data %>% mutate(r_stemster_3 = recode(stemster_3, `1` = 7L, `2` = 6L, `3` = 5L, `4` = 4L, `5` = 3L, `6` = 2L, `7` = 1L))
或者将旧值转为字符型传入:
data %>% mutate(r_stemster_3 = recode(stemster_3, "1" = 7, "2" = 6, "3" = 5, "4" = 4, "5" = 3, "6" = 2, "7" = 1))
内容的提问来源于stack exchange,提问作者Shay
相关产品推荐
相关产品推荐

