点击关注,桓峰基因
Surv 创建生存对象
创建一个生存对象,通常用作模型公式中的响应变量。参数匹配对于这个函数是特殊的,请参阅下面的详细信息。
Description
创建一个生存对象,通常用作模型公式中的响应变量。参数匹配对于此函数来说是特殊的,请参阅下面的详细信息。
Usage
Surv(time, time2, event,
type=c('right', 'left', 'interval', 'counting', 'interval2', 'mstate'),
origin=0)
is.Surv(x)
Arguments
time 对于右删失数据,这是后续时间。对于间隔数据,第一个参数是间隔的开始时间。
event 状态指示器,通常0=活着,1=死。其他选择是 TRUE / FALSE ( TRUE = 死亡)或 1/2(2 = 死亡)。对于区间删失数据,状态指示器为 0=右删失,1= time 处的事件,2=左删失,3=区间删失。对于多端点数据,事件变量将是一个因素,其第一级被视为审查。尽管不常见,但事件指示符可以省略,在这种情况下,假定所有受试者都发生了事件。
time2 仅用于间隔删失或计数过程数据的间隔结束时间。假定间隔在左侧开放,在右侧封闭, (start, end] 。对于计数过程数据, event 指示在时间间隔结束时是否发生事件。
type 指定审查类型的字符串。可能的值为 "right" 、 "left" 、 "counting" 、 "interval" 、 "interval2" 或 "mstate" 。
origin 用于计算过程数据的危险函数原点。此选项旨在与包含时间相关层的模型结合使用,以便在受试者从一个层跨越到另一个层时正确对齐受试者,但它很少被证明有用。
x 任何 R 对象。
Details
type
当 type 参数缺失时,代码将采用基于以下规则的类型:
如果有两个未命名参数,它们将按顺序匹配 time 和 event 。如果存在三个未命名参数,则它们匹配 time 、 time2 和 event 。
如果事件变量是一个因素,则假定类型为 mstate 。否则,如果没有 time2 参数,则键入 right ;如果有,则键入 counting 。
因此, type 参数通常会被省略。
当生存类型为 "mstate" 时,状态变量将被视为一个因素。该因子的第一级用于表示审查,其余级表示到给定状态的过渡。(如果状态变量是一个因素,则假定为 mstate 。)
区间删失数据可以用两种方式表示。首次使用 type = "interval" 和上面显示的代码。在该用法中,除非 event=3,否则 time2 参数的值将被忽略。第二种方法是将每个观察视为一个时间间隔,其中(-无穷大,t)表示左删失,(t,无穷大)表示右删失,(t,t)表示精确,(t1,t2)表示间隔。这是用于 type = Interval2 的方法。无限值可以用实际无穷大 (Inf) 或 NA 表示。事实证明,第二种形式更有用。
目前,唯一允许区间删失数据的方法是 survreg 计算的参数模型和 survfit 计算的生存曲线;对于这两种情况,开区间和闭区间之间的区别并不重要。这种区别对于计算过程数据和 Cox 模型很重要。
该函数尝试通过条件 if (max(status)==2) 区分对审查数据使用 0/1 和 1/2 编码。如果使用1/2编码并且对所有受试者进行审查,它就会猜测错误。在任何有问题的情况下,使用逻辑编码会更安全,例如, Surv(time, status==3) 将指示“3”是事件的代码。对于多状态生存,状态变量将是一个因素,假设其第一级对应于审查。
x
Surv 对象可以作为向量进行下标,例如使用单个下标的 x[1:3] ,在这种情况下, drop 参数将被忽略,结果将是一个生存对象;或使用两个下标作为矩阵。如果缺少第二个下标且为 drop=F (默认),则下标的结果将是 Surv 对象,例如 x[1:3,,drop=F] ,否则结果将是一个矩阵(或向量),根据下标矩阵的默认行为。
Value
类 Surv 的对象。有 print 、 is.na 和下标生存对象的方法。Surv 对象被实现为具有更多属性的 2 或 3 列矩阵。其中包括多状态对象的状态类型(左审查、右审查、计数过程等)和标签。输入参数的任何属性也保留在 inputAttributes 中。这对于在数据项(例如标签)上附加了更多信息的其他包可能很有用;然而,生存包中的例程 none 使用了这些值。
对于 is.Surv ,如果 x 继承自类 "Surv" ,则为逻辑值 TRUE ,否则为 FALSE 。
Note
使用 1/2 编码表示状态是一个有趣的历史文物。对于打孔卡上包含的数据,IBM 360 Fortran 将空白视为零,这导致 Mayo Clinic 生物统计学部分制定了一项政策,绝不使用 "0" 作为数据值,因为人们无法将其与缺失值区分开。政策变成了习惯,就像经常发生的那样,在生/死的打孔卡消亡之后,对生/死的 1/2 编码的使用仍然持续了很长一段时间。在编写 Surv 时,许多 Mayo 数据集仍然使用此约定,例如包中的 1994 lung 数据集。
See Also
coxph 、 survfit 、 survreg 、 lung 。
Examples
library(survival)
## Warning: 程辑包'survival'是用R版本4.3.3 来建造的
with(aml, Surv(time, status))
## [1] 9 13 13+ 18 23 28+ 31 34 45+ 48 161+ 5 5 8 8
## [16] 12 16+ 23 27 30 33 43 45
survfit(Surv(time, status) ~ ph.ecog, data=lung)
## Call: survfit(formula = Surv(time, status) ~ ph.ecog, data = lung)
##
## 因为不存在,1个观察量被删除了
## n events median 0.95LCL 0.95UCL
## ph.ecog=0 63 37 394 348 574
## ph.ecog=1 113 82 306 268 429
## ph.ecog=2 50 44 199 156 288
## ph.ecog=3 1 1 118 NA NA
Surv(heart$start, heart$stop, heart$event)
## [1] ( 0.0, 50.0] ( 0.0, 6.0] ( 0.0, 1.0+] ( 1.0, 16.0]
## [5] ( 0.0, 36.0+] ( 36.0, 39.0] ( 0.0, 18.0] ( 0.0, 3.0]
## [9] ( 0.0, 51.0+] ( 51.0, 675.0] ( 0.0, 40.0] ( 0.0, 85.0]
## [13] ( 0.0, 12.0+] ( 12.0, 58.0] ( 0.0, 26.0+] ( 26.0, 153.0]
## [17] ( 0.0, 8.0] ( 0.0, 17.0+] ( 17.0, 81.0] ( 0.0, 37.0+]
## [21] ( 37.0,1387.0] ( 0.0, 1.0] ( 0.0, 28.0+] ( 28.0, 308.0]
## [25] ( 0.0, 36.0] ( 0.0, 20.0+] ( 20.0, 43.0] ( 0.0, 37.0]
## [29] ( 0.0, 18.0+] ( 18.0, 28.0] ( 0.0, 8.0+] ( 8.0,1032.0]
## [33] ( 0.0, 12.0+] ( 12.0, 51.0] ( 0.0, 3.0+] ( 3.0, 733.0]
## [37] ( 0.0, 83.0+] ( 83.0, 219.0] ( 0.0, 25.0+] ( 25.0,1800.0+]
## [41] ( 0.0,1401.0+] ( 0.0, 263.0] ( 0.0, 71.0+] ( 71.0, 72.0]
## [45] ( 0.0, 35.0] ( 0.0, 16.0+] ( 16.0, 852.0] ( 0.0, 16.0]
## [49] ( 0.0, 17.0+] ( 17.0, 77.0] ( 0.0, 51.0+] ( 51.0,1587.0+]
## [53] ( 0.0, 23.0+] ( 23.0,1572.0+] ( 0.0, 12.0] ( 0.0, 46.0+]
## [57] ( 46.0, 100.0] ( 0.0, 19.0+] ( 19.0, 66.0] ( 0.0, 4.5+]
## [61] ( 4.5, 5.0] ( 0.0, 2.0+] ( 2.0, 53.0] ( 0.0, 41.0+]
## [65] ( 41.0,1408.0+] ( 0.0, 58.0+] ( 58.0,1322.0+] ( 0.0, 3.0]
## [69] ( 0.0, 2.0] ( 0.0, 40.0] ( 0.0, 1.0+] ( 1.0, 45.0]
## [73] ( 0.0, 2.0+] ( 2.0, 996.0] ( 0.0, 21.0+] ( 21.0, 72.0]
## [77] ( 0.0, 9.0] ( 0.0, 36.0+] ( 36.0,1142.0+] ( 0.0, 83.0+]
## [81] ( 83.0, 980.0] ( 0.0, 32.0+] ( 32.0, 285.0] ( 0.0, 102.0]
## [85] ( 0.0, 41.0+] ( 41.0, 188.0] ( 0.0, 3.0] ( 0.0, 10.0+]
## [89] ( 10.0, 61.0] ( 0.0, 67.0+] ( 67.0, 942.0+] ( 0.0, 149.0]
## [93] ( 0.0, 21.0+] ( 21.0, 343.0] ( 0.0, 78.0+] ( 78.0, 916.0+]
## [97] ( 0.0, 3.0+] ( 3.0, 68.0] ( 0.0, 2.0] ( 0.0, 69.0]
## [101] ( 0.0, 27.0+] ( 27.0, 842.0+] ( 0.0, 33.0+] ( 33.0, 584.0]
## [105] ( 0.0, 12.0+] ( 12.0, 78.0] ( 0.0, 32.0] ( 0.0, 57.0+]
## [109] ( 57.0, 285.0] ( 0.0, 3.0+] ( 3.0, 68.0] ( 0.0, 10.0+]
## [113] ( 10.0, 670.0+] ( 0.0, 5.0+] ( 5.0, 30.0] ( 0.0, 31.0+]
## [117] ( 31.0, 620.0+] ( 0.0, 4.0+] ( 4.0, 596.0+] ( 0.0, 27.0+]
## [121] ( 27.0, 90.0] ( 0.0, 5.0+] ( 5.0, 17.0] ( 0.0, 2.0]
## [125] ( 0.0, 46.0+] ( 46.0, 545.0+] ( 0.0, 21.0] ( 0.0, 210.0+]
## [129] (210.0, 515.0+] ( 0.0, 67.0+] ( 67.0, 96.0] ( 0.0, 26.0+]
## [133] ( 26.0, 482.0+] ( 0.0, 6.0+] ( 6.0, 445.0+] ( 0.0, 428.0+]
## [137] ( 0.0, 32.0+] ( 32.0, 80.0] ( 0.0, 37.0+] ( 37.0, 334.0]
## [141] ( 0.0, 5.0] ( 0.0, 8.0+] ( 8.0, 397.0+] ( 0.0, 60.0+]
## [145] ( 60.0, 110.0] ( 0.0, 31.0+] ( 31.0, 370.0+] ( 0.0, 139.0+]
## [149] (139.0, 207.0] ( 0.0, 160.0+] (160.0, 186.0] ( 0.0, 340.0]
## [153] ( 0.0, 310.0+] (310.0, 340.0+] ( 0.0, 28.0+] ( 28.0, 265.0+]
## [157] ( 0.0, 4.0+] ( 4.0, 165.0] ( 0.0, 2.0+] ( 2.0, 16.0]
## [161] ( 0.0, 13.0+] ( 13.0, 180.0+] ( 0.0, 21.0+] ( 21.0, 131.0+]
## [165] ( 0.0, 96.0+] ( 96.0, 109.0+] ( 0.0, 21.0] ( 0.0, 38.0+]
## [169] ( 38.0, 39.0+] ( 0.0, 31.0+] ( 0.0, 11.0+] ( 0.0, 6.0]
Reference
https://runebook.dev/zh/docs/r/library/survival/html/surv
峰基因公众号推出临床预测模型教程,有需要生信的老师可以联系我们!临床预测模型教程整理如下:
Topic 10. 单因素 Logistic 回归分析—单因素分析表格
Topic 12 临床预测模型—列线表 (Nomogram)
Topic 13. 临床预测模型—一致性指数 (C-index)
Topic 14. 临床预测模型之校准曲线 (Calibration curve)
Topic 16. 临床预测模型之接收者操作特征曲线 (ROC)
Topic 19. 临床预测模型之输出每个患者列线图得分 (nomogramFormula)
Topic 20. 临床预测模型之竞争风险模型及计算生存概率
桓峰基因,铸造成功的您!
未来桓峰基因公众号将不间断的推出机器学习系列生信分析教程,
敬请期待!!
桓峰基因官网正式上线,请大家多多关注,还有很多不足之处,大家多多指正!http://www.kyohogene.com/
桓峰基因和投必得合作,文章润色优惠85折,需要文章润色的老师可以直接到网站输入领取桓峰基因专属优惠券码:KYOHOGENE,然后上传,付款时选择桓峰基因优惠券即可享受85折优惠哦!https://www.topeditsci.com/