這是當你當你在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