这是当你当你在RMS封装的贴装运行的第一个例子:
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
由于rms/Hmisc软件包组合使用格点图,具有边际年龄密度特征的注释需要使用格点函数完成。在另一方面,如果你想改变的响应值相对危险,你可以再补充一个“有趣= EXP”的说法在预测打电话relable图获得:
png(); plot(Predict(f, age, sex, fun=exp), ylab="Relative Hazard");dev.off()
HTTP ://stat.ethz.ch/R-manual/R-devel/library/graphics/html/curve.html http://www.r-bloggers.com/plotting-95-confidence-bands-in-r- 2/ – efrem 2015-02-07 18:24:31
我使用Frank Harrell的rms/Hmisc软件包,虽然我不知道右边的情节,但可能能够提供非常类似于输出的内容。根据男性和女性的结果绘制正态分布,我在统计上被冒犯了。我不知道rms是否支持psplines,因为Frank喜欢三次样条的限制,但是如果你发布了一些数据,我很乐意尝试一下。 – 2015-02-07 18:30:54
感谢BondedDust。你是如何安装这些软件包的? 当我尝试安装时,出现如下错误消息:'TH.data'软件包的安装具有非零退出状态 – Oposum 2015-02-07 18:35:54