2

我正在尝试使用生存包中的Survandsurvfit函数运行生存分析。我的大部分数据都被截断了,我不确定我是否将其输入Surv功能正确。我的响应变量是时间(以年为单位),从桥梁被归类为缺陷开始,到倒塌结束。我可以追踪每座桥梁从 2012 年到 1992 年的缺陷状态,但不能再进一步了。审查的发生是因为许多桥梁从倒塌到 1992 年就被归类为缺陷,因此我不知道它们何时变得缺陷,因此我不知道它们真正的“寿命”(从分类不足而崩溃)。例如,一座桥在 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)

请注意,8 座桥中有 4 座被截断,即 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.

我只是不确定这个模型是否正确。一方面,在文档中它说“时间”是针对右删失数据或间隔删失数据的开始时间。另一方面,我看不出这个模型如何解释未审查的观察结果。谁能告诉我这是否正确,如果不是,我需要改变什么以及为什么。任何帮助是极大的赞赏。非常感谢!

4

1 回答 1

2

看看这些是否更有意义:

> 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)

在此处输入图像描述

我的理解是,您正在尝试分析从被归类为缺陷到最终失败之间的持续时间。对于“左截断”(在我的回复中查看更多内容)数据,比如第一座桥,即使它在这段时间内只花了 2 年,实际上它可能已经停留了 2 年以上(2+)因为你不是能够回溯到 1992 年之前的日期。为了使这一点反映在surv对象中,1我没有在其上放置标志,而是在其上放置了一个0.

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

于 2013-10-22T20:57:08.333 回答