You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用mutate()函数时持续出现unexpected '='错误求助

解决dplyr中recode()函数的语法错误

你遇到的错误是因为dplyr的recode()函数中,数值型的匹配键不能直接写1 = "Male"——在R的函数参数规则里,纯数字不能作为参数名,所以R会识别不了这个语法,抛出"unexpected '='"的错误。

给你两种可行的解决方法:

方法1:给数值键加反引号转义

把数值用反引号括起来,让R把它识别为合法的参数名:

table %>% mutate(SEX_R = recode(SEX, 
  `1` = "Male",
  `2` = "Female"))

方法2:用case_when()替代(更适合新手)

case_when()的语法逻辑更直观,不需要纠结参数名的问题,还能方便处理其他未匹配的情况:

table %>% mutate(SEX_R = case_when(
  SEX == 1 ~ "Male",
  SEX == 2 ~ "Female",
  TRUE ~ NA_character_ # 可选,给未匹配的数值赋值NA,可根据需求修改
))

注意:如果你的SEX列是字符型(比如值是"1"而不是1),直接用引号包裹键即可("1" = "Male"),不需要反引号。

内容的提问来源于stack exchange,提问作者Renthu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:24:59