0

我在 R 中创建生存对象时遇到问题。我想对订阅客户的生存情况(每月数据)进行建模,但是为了创建生存对象,我需要合并两种类型的审查:

  • 经典的右删:部分客户进入观察期尚未退订(“死亡事件”)

  • 左截断和右删失:其他客户在观察期之前进入但不知道是什么时候,因为之前没有历史表

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

因此,我知道那些进入观察期的人的开始时间。但是对于那些之前进入的人,我只是将句点“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

提前感谢您的帮助。

4

1 回答 1

0

在持续时间中合并左右审查的一种方法是Surv使用type = interval2. 正如survival文档所说:

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

因此,您需要将已知持续时间分配给一个向量time(左删失案例将是NA)和另一个向量(time2右删失案例将是NA)。

这里讨论了一个类似的问题。

于 2018-10-31T10:42:01.200 回答