我正在尝试将文本(非线性p值)添加到受限三次样条回归模型的图中。当我在R studio中尝试这个时它工作正常,但是当我尝试添加代码以将其保存为.tiff文件时,我得到以下内容:
strwidth错误(图例,单位="用户",cex = cex,font = text.font):
plot.new还没有被调用
这是我的代码(用于限制性三次样条回归模型,用于决定性labtsh和终点ecard之间的关联,3节):
spline <- cph(Surv(ecard_f,ecard_n)~rcs(labtsh,3)+age+gender+ckdepi+smoking, data=smart)
tiff(file ="H:/documents/test.tiff", width = 1000, height =1000, units = "px", res = 145)
plot(Predict(spline,labtsh,fun=exp), pch = 20, las = 1,
conf.int=T,
main="Relationship TSH and myocardial infarction",
xlab="TSH (mIU/L)",
ylab="Hazard Ratio")
my.p <- anova(spline)[2,3] ##this is the value I want to add in the plot
rp = vector('expression',2)
rp[1] = substitute(expression(Non-linearity))[2]
rp[2] = substitute(expression(italic(p)-value == MYVALUE),
list(MYVALUE = format(my.p, digits = 3)))[2]
legend('topleft', legend = rp, bty = 'n')
dev.off()
就像我说的那样,如果我取消调用以使其成为.tiff文件和dev.off()
行,则代码可以正常工作。
我在stackoverflow上搜索了类似问题的多个答案,但答案似乎对我没有帮助。