我如何使用;“生存”;具有左截断数据的R中的package和Surv函数?

我如何使用;“生存”;具有左截断数据的R中的package和Surv函数?,r,survival-analysis,R,Survival Analysis,我正在尝试使用生存包中的Surv和survfit函数运行生存分析。我的大部分数据都是左截断的,我不确定是否将其输入右侧的Surv函数。我的反应变量是时间(以年为单位),从桥梁被归类为缺陷时开始,到桥梁倒塌时结束。从2012年到1992年,我可以追踪每座桥梁的缺陷状态,但不能再追踪了。审查之所以发生,是因为许多桥梁从1992年倒塌时就被归类为缺陷,因此我不知道它们何时变得缺陷,因此我不知道它们的真实“寿命”(从缺陷分类到倒塌的年数)。比如说a 桥梁于1995年倒塌,并于1995年、1994年、19

我正在尝试使用生存包中的
Surv
survfit
函数运行生存分析。我的大部分数据都是左截断的,我不确定是否将其输入右侧的
Surv
函数。我的反应变量是时间(以年为单位),从桥梁被归类为缺陷时开始,到桥梁倒塌时结束。从2012年到1992年,我可以追踪每座桥梁的缺陷状态,但不能再追踪了。审查之所以发生,是因为许多桥梁从1992年倒塌时就被归类为缺陷,因此我不知道它们何时变得缺陷,因此我不知道它们的真实“寿命”(从缺陷分类到倒塌的年数)。比如说a 桥梁于1995年倒塌,并于1995年、1994年、1993年和1992年被列为缺陷。有可能它在1992年首次被归类为缺陷,但事实并非如此 也有可能自1984年以来被归类为缺陷。因此,我认为我的审查被认为是左截断

一些示例数据:

Year0 = c(1992, 1992, 1999, 1992, 1993, 2007, 2005, 1992) # The years when each bridge     was first observed as being deficient.
Year1 = c(1993, 1994, 2002, 1996, 2004, 2012, 2011, 2000) # The years in which each bridge collapsed
Defyears = Year1 - Year0 + 1 # The number of years for wich I can observe each bridge being deficient
time1 = Year0 - 1992 # Since I want the time scale to be from 0 to 21 instead of 1992 - 2012, I subtract 1992 from each time observation.
                     # This now becomes the beginning point for the lifetime of each bridge.
time2 = Defyears + time1 # This is the ending point of the lifetime of each bridge.
n = length(time2)
请注意,八个桥接器中有四个被左截断,桥接器1、2、4和8。我 无法准确观察它们最初被归类为缺陷的时间。桥梁 3、5、6和7我知道它们的确切寿命,因为它们在1992年后变得不足,因此 这些观察结果没有经过审查

然后,我拟合以下模型:

bridges = survfit(Surv(time = time1, time2 = time2, event = rep(1,n)) ~ 1) # I do "event = rep(1,n)" because each bridge collapsed.
我只是不确定这个模型是否正确。首先,在文档中 表示“时间”用于右删失数据或间隔删失数据的开始时间。另一方面,我不明白这个模型如何解释未经审查的观察结果。谁能告诉我这是否正确,如果不正确,我需要改变什么,为什么。
非常感谢您的帮助。非常感谢

看看这些是否更有意义:

> clps <- c(0,0,1,0,1,1,1,0) #censor flag
> surv.obj <- Surv(rep(0, length(clps)), Year1-Year0+1, clps)
> surv.obj #Is this what you want?
[1] (0, 2+] (0, 3+] (0, 4 ] (0, 5+] (0,12 ] (0, 6 ] (0, 7 ] (0, 9+]
> survRzt <- survfit(surv.obj~1)
> plot(survRzt)
>clps surv.obj surv.obj#这就是你想要的吗?
[1] (0, 2+] (0, 3+] (0, 4 ] (0, 5+] (0,12 ] (0, 6 ] (0, 7 ] (0, 9+]
>survRzt地块(survRzt)

我的理解是,您正试图分析从被归类为缺陷到最终失败之间的持续时间。对于“左截断”(请参阅我的回复中的更多内容)数据,例如第一座桥,即使它在该持续时间内只花费了2年,实际上它可能已经停留了2年以上(
2+
)由于您无法回溯到1992年之前的日期。为了使其反映在
surv
对象中,我将
0
标记放在
1
标记上,而不是放在
1
标记上


对于其他数据点,如第三桥。持续时间为4年,我们知道正好是4年。它应该得到一个审查标志
1

我以前尝试过类似的方法,但这不是正确的审查吗?我担心使用你描述的审查标志意味着事件没有发生为那些censor flag==0的网桥打开。但事实并非如此,数据集中的所有网桥都已崩溃。您的想法是什么?这将是一个更适合交叉验证而不是stackoverflow的问题。但我认为它不是真正的左截断。左截断意味着如果生存期小于阈值,则事件不是ob已服务。在您的情况下,lifetime是标记为失效和崩溃之间的时间量。左截断不适用于它。是的,我认为,与直觉相反,这些是右删失的观察结果。请注意,我们同时提供了
time1
time2
,它被视为间隔删失数据集。状态指示或者,通常意味着
0=活的,1=死的
,意味着
0=右删失,1=当时的事件
现在。好的,谢谢,我会继续考虑,但我感谢你的帮助!这也不是右删失的数据。数据收集消除了错误“幸存的桥梁,因此没有参考的协变量集来进行任何形式的风险评估。这里需要的是没有倒塌的桥梁的数据。