You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在R语言中基于另一变量的值修改变量取值(人口统计变量重编码场景)

修正后的R重编码实现方法

嘿,我发现你写的代码里有个小问题——在case_when的分支里,你用了逻辑判断语句(比如Q36 == "Hispanic"),但实际上我们需要直接赋值对应的字符串,而不是做判断。另外,还得加上默认分支来保留原本的变量值,不然不符合条件的行会变成NA。

下面是正确的实现代码:

data <- data %>%
  mutate(Q36 = case_when(
    Q35 == "Yes" & Q36 == "Other" ~ "Hispanic",
    Q35 == "No" & Q36 == "Other" ~ "Unspecified",
    TRUE ~ Q36  # 默认保留原Q36值
  ))

代码说明:

  • 第一个分支:当Q35取值为"Yes"且Q36为"Other"时,将Q36替换为"Hispanic"
  • 第二个分支:当Q35取值为"No"且Q36为"Other"时,将Q36替换为"Unspecified"
  • 最后一个TRUE ~ Q36:所有不满足上述两个条件的情况,保持Q36的原始值不变,避免出现缺失值

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

火山引擎 最新活动