纳兰墨霏 2022-03-11 13:48 采纳率: 100%
浏览 2506
已结题

R语言列线图多因素cox运行时出现subscript out of bounds报错,请问如何解决?

问题遇到的现象和发生背景

绘制预后列线图,进行多因素cox模型构建时,出现下标越界报错:Error in [.default(y, , 3) : subscript out of bounds

问题相关代码,请勿粘贴截图

mycox<-read.csv("G:/Rprojs/sample.csv")
setwd("G:/Rprojs")
library(rms)
dd=datadist(mycox)
options(datadist="dd")
mycox$event <- as.factor(mycox$event)
mycox$Gender <- as.factor(mycox$Gender)
mycox$Stage <- factor(mycox$Stage)
mycox$G <- as.factor(mycox$G)
mycox$R <- as.factor(mycox$R)
mycox$Radiation <- as.factor(mycox$Radiation)
#预测模型列线图
library(survival)
library(pec)
library(dplyr)
library(magrittr)
nomo.cox <- cph(formula=Surv(time, event) ~ FAM3D + Age + Gender + Stage + G + R + Radiation, data=mycox, x=TRUE, y=TRUE, surv=TRUE, na.action=na.delete)

运行结果及报错内容

Error in [.default(y, , 3) : subscript out of bounds

我的解答思路和尝试过的方法

y = matrix(data = sample.int(3000, 3000), nrow = 3000, ncol = 3000),没有效果

我想要达到的结果

想让代码不报错,成功构建cox模型,后续再形成列线图,感谢!

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2022-03-11 16:19
    关注

    用str(mycox)检查一下变量的情况,可能是某个变量的数据类型导致的,参考:
    https://github.com/harrelfe/rms/issues/82

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    纳兰墨霏 2022-03-11 17:27

    谢谢老师,是我把结局变量event的数据类型设置错了,去掉mycox$event <- as.factor(mycox$event)就不再报错了

    2
    回复
    Libra梓 回复 纳兰墨霏 2023-07-13 03:29

    想问问结局变量不应该就是因子型变量吗

    1
    回复
    cHanJia128 回复 Libra梓 2023-10-07 14:23

    coxph是status需要为numeric形式

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月11日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部