我有以下假设数据来绘制受限制的三次样条
library(rms)
library(survival)
n <- 1000
set.seed(731)
age <- 50 + 12*rnorm(n)
label(age) <- "Age"
sex <- factor(sample(c('Male','Female'), n, rep=TRUE, prob=c(.6, .4)))
cens <- 15*runif(n)
h <- .02*exp(.04*(age-50)+.8*(sex=='Female'))
dt <- -log(runif(n))/h
label(dt) <- 'Follow-up Time'
e <- ifelse(dt <= cens,1,0)
dt <- pmin(dt, cens)
units(dt) <- "Year"
dd <- datadist(age, sex)
options(datadist='dd')
S <- Surv(dt,e)
f <- cph(S ~ rcs(age,4) + sex, x=TRUE, y=TRUE)
cox.zph(f, "rank") # tests of PH
anova(f)
plot(Predict(f, age, sex)) # plot age effect, 2 curves for 2 sexes
我想向其添加以下文字text(60,-1,"p < 0.001")
,但它不起作用并给我以下错误消息:plot.new has not been called yet
。有什么想法可能是什么问题?我可以用其他任何方式添加文字(或图例)吗?
答案 0 :(得分:1)
rms
包移动到晶格绘图平台。您需要在面板调用或补充晶格函数之一中添加文本。请参阅?llines
或使用trellis.focus
。
[![ap <- function(...) { ltext(60, 1, "p < 0.001") }
plot(Predict(f, age, sex), addpanel=ap)][1]][1]