绘制生存分析校正曲线calibrate提示subscript out of bounds

问题遇到的现象和发生背景 :无法绘制校正曲线。用R做生存分析,得出有意义的研究因素后,利用这些因素制作了nomogram图,但在做calibrate曲线的预测和实际曲线时遇到问题

代码为:
dd=datadist(data)
options(datadist="dd")
f2 <- psm(Surv(Post.infe, Outcome) ~ DM+MI+BMI+iso.CABG, data, x=T, y=T, dist='lognormal',time.inc = 180)
f2
cal1 <- calibrate(f2,
cmethod='KM',
method="boot",
u=180, # u需要与之前模型中定义好的time.inc一致,即365或730;
m=61, #每次抽样的样本量,
B=1000) #抽样次数

plot(cal1,lwd=2,lty=1,
conf.int=T,# 是否显示置信区间
errbar.col="black",#直线曲线bar颜色
col="black", # 曲线颜色
xlim=c(0,1),ylim=c(0,1),
xlab="Predicted Probability",
ylab="Actual Probability",
subtitles = F)#不显示副标题
#abline(0,1,col="black",lty=1,lwd=1)
lines(cal1[,c("predy","calibrated.orig")],type="l",lwd=1,col="red",pch=16)
lines(cal1[,c("predy","calibrated.corrected")],type="l",lwd=1,col="blue",pch=16)

运行结果及报错内容 :到plot(cal..)这一步可以完整画出,见图

img


但是画两条原始和矫正的线时提示:Error in cal1[, c("predy", "calibrated.orig")] : subscript out of bounds

我的解答思路和尝试过的方法 :试过更改time.inc参数,始终提示subscript out of bounds。因为没有编程基础,debug毫无头绪

我想要达到的结果:能让最后两行代码成功运行

str()检查一下变量,是不是有数据类型错了

可以试试
#display number of rows and columns in matrix
dim(x)

是什么语言写的代码

str()检查一下变量