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

长格式数据下group_by函数生成个体统一二分类变量失效求助

长格式住院数据个体心脏住院标记解决方案

你的问题出在只判断了当前行的住院原因,没有对整个个体(ID分组)的所有记录做整体检查。要实现同ID所有记录统一标记,需要用any()函数判断分组内是否存在心脏骤停住院的记录,再生成二分类变量。

修正后的代码

data %>% 
  group_by(ID) %>% 
  # 检查当前ID下是否有任意一条记录是心脏骤停住院,转成1/0格式
  mutate(Ever_Cardiac = as.integer(any(reason_for_hospitalisation == "Cardiac"))) %>% 
  ungroup() # 可选,不需要保留分组时取消

如果习惯用ifelse,也可以写成:

data %>% 
  group_by(ID) %>% 
  mutate(Ever_Cardiac = ifelse(any(reason_for_hospitalisation == "Cardiac"), 1, 0)) %>% 
  ungroup()

关键说明

  • any(reason_for_hospitalisation == "Cardiac"):在每个ID分组内,只要有一条记录的住院原因是"Cardiac",就返回TRUE,否则返回FALSE
  • as.integer():把逻辑值TRUE转成1,FALSE转成0,得到你需要的二分类变量
  • 注意把原代码里的中文引号换成英文引号,否则会出现语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 11:29:57