2016-04-15 10 views
0

Ich habe folgende hypothetische Daten kubische SplinesAddnig Text auf eingeschränkte kubische Splines zeichnen

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 

Wit die obigen Daten, ich dieses schöne Grundstück erhalten beschränkt Grundstück: enter image description here

Ich möchte hinzufügen folgenden Text dazu text(60,-1,"p < 0.001"), aber es funktioniert nicht und gibt mir die folgende Fehlermeldung: plot.new has not been called yet. Irgendwelche Gedanken, was das Problem sein könnte? Kann ich auf andere Weise Text (oder eine Legende) hinzufügen?

Antwort

1

Das rms Paket wurde auf die Gitterplottingplattform verschoben. Sie müssten den Text in einem Panel-Aufruf oder einer der zusätzlichen Gitterfunktionen hinzufügen. Siehe ?llines oder verwenden Sie trellis.focus.

[![ap <- function(...) { ltext(60, 1, "p < 0.001") } 

plot(Predict(f, age, sex), addpanel=ap)][1]][1]