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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。