使用右侧角色和左侧截断+右侧角色观察生成生存对象

时间:2018-04-19 15:24:08

标签: r survival-analysis survival

我在R中创建生存对象时遇到问题。我想模仿suscription客户的生存(月度数据),但是为了创建生存对象,我需要结合两种类型的审查:

  • 经典的权利审查:一些客户进入了 观察期并尚未取消订阅(“死亡事件”)

  • 左截断和右删失:其他客户输入 在观察期之前但未知的时候,因为没有 之前的历史表

当然我有事件案例(取消订阅)。但对我来说问题是如何在同一数据集中生成两种类型的生存对象,然后进行建模。我认为不考虑“截断”的情况会偏向并估计一些客户留下的长时间,所以我不想抛弃这些情况。

因此,我知道那些进入观察期的人的开始时间。但对于那些之前进入过的人来说,我只是将'0'作为他们的开始时间,而不是真正的(未知数)。

到目前为止,我已尝试过此代码:

1) survobj <- Surv(TIME, EVENT)
## i loose information of the truncated ones.

2) survobj <- Surv(ifelse(T0==0,NA,T0), T1, EVENT) 
## will create "interval-censored" objects, not my case

3) survobj <- Surv(T0, data$T1, EVENT, type='counting')  
## all objects will be "left truncated", not just the T0=0

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在持续时间内合并左右审查的一种方法是使用Surv创建一个type = interval2对象。正如survival文档所说:

  

[...]将每个观察结果视为一个时间间隔,其中(-infinity,t)代表左删失,(t,infinity)代表删失,(t,t)代表精确,(t1,t2)代表一个间隔。这是用于类型= interval2的方法。无限值可以用实际无限(Inf)或NA表示。

因此,您需要在向量中为time分配已知的持续时间(其中左检查例为NA),在另一个向量中为time2(其中右检查例为零)是NA)。

讨论了类似的问题here