predict.coxph
位於 survival
包(package)。 說明
計算 coxph
擬合模型的擬合值和回歸項
用法
## S3 method for class 'coxph'
predict(object, newdata,
type=c("lp", "risk", "expected", "terms", "survival"),
se.fit=FALSE, na.action=na.pass, terms=names(object$assign), collapse,
reference=c("strata", "sample", "zero"), ...)
參數
object |
coxph 擬合的結果。 |
newdata |
用於進行預測的可選新數據。如果缺少預測,則針對原始擬合中使用的數據幀。當使用在另一個上下文中創建的公式參數調用 coxph 時,即,在另一個函數中調用 coxph 並將公式作為參數傳遞給該函數時,查找數據集可能會出現問題。請參閱下麵的注釋。 |
type |
預測值的類型。選項包括線性預測變量 ( |
se.fit |
如果為 TRUE,則為預測生成逐點標準誤差。 |
na.action |
僅當存在 |
terms |
如果 type="terms",則此參數可用於指定應包含哪些術語;默認為全部。 |
collapse |
主題標識符的可選向量。如果指定,輸出將包含每個主題一個條目,而不是每個觀察一個條目。 |
reference |
居中預測的參考,請參閱下麵的詳細信息 |
... |
對於未來的方法 |
細節
Cox模型是相對風險模型; "linear predictor"、"risk" 和 "terms" 類型的預測均與它們所來自的樣本相關。默認情況下,每個變量的參考值是層內的平均協變量。根本原因既有統計上的,也有實踐上的。首先,Cox 模型僅預測同一層內的成對受試者之間的相對風險,因此向任何協變量添加常數(無論是總體還是僅在特定層內)對擬合結果沒有影響。其次,下遊計算取決於風險分數 exp(線性預測器),對於大於 .Machine\$double.max.exp
的線性預測器,這將成為數字溢出的犧牲品。 coxph
例程嘗試將預測變量大致置於自我保護的中心。使用 reference="strata"
選項是最安全的居中方式,因為層偶爾有不同的方式。當 predict
的結果用於進一步計算時,可能需要對所有觀察結果使用單一參考水平。使用 reference="sample"
將使用整體平均值,並與 coxph 對象的 linear.predictors
組件一致(它使用整體平均值來向後兼容舊代碼)。 type="terms"
的預測幾乎總是會傳遞到進一步的計算,因此對於這些,我們默認使用樣本作為參考。 "zero"
的引用導致不進行居中。
"expected" 類型的預測包含基線危險,因此是絕對的而不是相對的; reference
選項對這些沒有影響。這些值取決於未來受試者的隨訪時間以及協變量,因此 newdata
參數需要包含公式中的右側和左側變量。 (狀態變量不會被使用,但由於底層代碼需要重建整個公式,因此是必需的。)
包含 frailty
項的模型是一種特殊情況:由於技術困難,當存在 newdata
參數時,預測將始終是隨機效應為零。
值
預測向量或矩陣,或者包含預測(元素"fit")及其標準誤差(元素"se.fit")的列表(如果se.fit選項為TRUE)。
注意
一些預測可以直接從 coxph 對象獲得,而對於其他預測,例程必須具有完整的原始數據集,例如,對於 type = terms
或如果請求標準錯誤。如果 model=TRUE
,則此額外信息將保存在 coxph 對象中,否則將重建原始數據。如果知道需要此類殘差,並且保存模型信息,則總體執行速度會稍快一些。
在某些情況下,重建可能會失敗。最常見的情況是在另一個函數內部調用 coxph 並將公式作為參數之一傳遞給該封閉函數。另一種情況是數據集在原始調用和預測調用之間發生變化。在每個問題中,簡單的解決方案是將 model=TRUE
添加到原始 coxph 調用中。
例子
options(na.action=na.exclude) # retain NA in predictions
fit <- coxph(Surv(time, status) ~ age + ph.ecog + strata(inst), lung)
#lung data set has status coded as 1/2
mresid <- (lung$status-1) - predict(fit, type='expected') #Martingale resid
predict(fit,type="lp")
predict(fit,type="expected")
predict(fit,type="risk",se.fit=TRUE)
predict(fit,type="terms",se.fit=TRUE)
# For someone who demands reference='zero'
pzero <- function(fit)
predict(fit, reference="sample") + sum(coef(fit) * fit$means, na.rm=TRUE)
也可以看看
相關用法
- R predict.survreg “survreg”對象的預測值
- R print.aareg 打印 aareg 對象
- R print.survfit 打印生存曲線的簡短摘要
- R print.summary.survfit 打印生存總結
- R print.summary.survexp 打印 Survexp 摘要
- R print.summary.coxph Summary.coxph 對象的打印方法
- R pseudo 生存的偽值。
- R pbc 梅奧診所原發性膽汁性膽管炎數據
- R plot.survfit survfit 對象的繪圖方法
- R pyears 人年
- R plot.aareg 繪製 aareg 對象。
- R plot.cox.zph 比例風險的圖形測試
- R pbcseq 梅奧診所原發性膽汁性肝硬化,序貫數據
- R pspline 使用 pspline 基礎平滑樣條線
- R hoel 小鼠癌症數據
- R survcondense 縮短 (time1, time2) 生存數據集
- R myeloid 急性粒細胞白血病
- R tobin 托賓的托比特數據
- R levels.Surv 返回多狀態 Surv 對象的狀態
- R rats Mantel 等人的大鼠治療數據
- R diabetic 糖尿病視網膜病變
- R kidney 腎導管數據
- R stanford2 更多斯坦福心髒移植數據
- R residuals.survreg 計算“survreg”對象的殘差
- R cgd0 慢性肉芽腫病數據
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Predictions for a Cox model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。