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

R 4.3中cph函数报‘object 'n' not found’错误的解决方法

R 4.3中Cox向前逐步回归报错解决及修正代码

报错原因

R 4.3适配的新版rms包中,仅含截距项的cph空模型(~1)初始化时,内部统计量n未被正确生成,触发object 'n' not found错误,旧版R搭配低版本rms无此问题。

解决步骤及修正代码

1. 核心修正:空模型添加强制参数

给cph函数添加x=TRUE, y=TRUE参数,强制生成模型所需内部变量,解决空模型报错:

null <- cph(Surv(OStime, OSstatus) ~ 1, data = OSNUx, x = TRUE, y = TRUE)

2. 完整向前逐步回归代码

建议调用rms包专属的step函数,避免与base包函数的兼容性问题,完整代码如下:

# 加载依赖包
library(rms)
library(survival)

# 构建模型
# 修正后的空模型
null <- cph(Surv(OStime, OSstatus) ~ 1, data = OSNUx, x = TRUE, y = TRUE)
# 全模型(同样添加参数保证兼容性)
full <- cph(Surv(OStime, OSstatus) ~ ., data = OSNUx, x = TRUE, y = TRUE)

# 执行向前逐步回归
forward.cph <- rms::step(null,
                         scope = list(lower = null, upper = full),
                         direction = "forward")

# 输出模型结果
summary(forward.cph)

3. 额外检查项

  • 确认OSNUx数据中,OSstatus为二元变量(0=截尾,1=事件发生),OStime为数值型生存时间;
  • 若仍有问题,尝试更新rms包至最新稳定版:install.packages("rms")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:17:46