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

在R中运行Cox回归模型时遇多状态模型需id语句报错

Cox回归报错「an id statement is required for multi-state models」解决方法

问题原因

你的数据中存在同一id对应多条记录(属于重复事件/多状态生存数据),而coxph()默认处理单结局生存分析(每个个体仅一条记录),因此触发该错误。

解决办法

方法1:直接处理重复事件数据

通过id参数指定个体标识,使用计数过程模型或脆弱性模型考虑个体间相关性:

# 计数过程模型(用cluster控制个体聚类效应)
cox.model <- coxph(Surv(los, died) ~ gender + cluster(id), data = dat)

# 脆弱性模型(frailty项捕捉个体未观测异质性)
cox.model <- coxph(Surv(los, died) ~ gender + frailty(id), data = dat)

方法2:筛选首次事件记录建模

若研究目标仅关注个体的首次事件,先提取每个id的第一条记录:

# 需要先加载dplyr包
library(dplyr)
dat_first <- dat %>% 
  group_by(id) %>% 
  slice(1) %>% 
  ungroup()

# 运行普通Cox回归
cox.model <- coxph(Surv(los, died) ~ gender, data = dat_first)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:55:57