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

mutate函数合并值失败,求逻辑回归变量二值化解决方法

问题修复与解决方案

你的代码存在以下语法逻辑问题:

  • case_when 的每个条件分支必须用逗号分隔,你错误地用右括号结束每个分支
  • 第二个 mutate 里的 case_when 语法不完整,缺少赋值符号 ~,且错误使用逗号分隔条件
  • fct_relevel 的调用时机错误,应该在完成二分类重编码后再调整因子水平

正确的重编码代码示例:

假设你的数据框名为 df,完整处理流程如下:

library(dplyr)
library(forcats)

df <- df %>%
  mutate(
    Vira_respondenta = case_when(
      # 所有信徒类别统一映射为"Věřící"
      Vira_respondenta %in% c(
        "Ostatní Křesťanské",
        "Římskokatolické",
        "Českobratrské evangelické",
        "Československé husitské",
        "Ostatní mimokřesťanské"
      ) ~ "Věřící",
      # 无宗教及剩余类别映射为"Nevěřící"
      TRUE ~ "Nevěřící"
    ),
    # 调整因子水平,将"Nevěřící"设为逻辑回归的参照基准
    Vira_respondenta = fct_relevel(Vira_respondenta, "Nevěřící")
  )

补充说明:

  • 用 %in% 替代多次 == 可简化代码,提升可维护性
  • TRUE ~ "Nevěřící" 会自动覆盖所有未在前面列出的类别,避免因遗漏取值产生NA值
  • 若仅需将"Žádné"设为"Nevěřící",可把 TRUE 替换为具体条件:Vira_respondenta == "Žádné" ~ "Nevěřící",但需确保8个取值都被明确覆盖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:54:20