Как я могу избежать того, чтобы объекты с правым усечением были отброшены? - PullRequest
4 голосов
/ 09 апреля 2019

Я делаю анализ выживания относительно времени, в течение которого некоторые отдельные компоненты остаются в исходном коде программного проекта, но некоторые из этих компонентов удаляются функцией survfit.

Вот чтоЯ делаю:

library(survival)
data <- read.table(text = "component_id weeks removed
1              1       1
2              1       1
3              1       1
4              1       1
5              1       1
6              1       1
7              1       1
8              2       0
9              2       0
10              2       0
11              2       0
12              2       1
13              2       1
14              2       0
15              2       0
16              2       0
17              2       0
18              2       0
19              2       0
20              2       1
21              2       1
22              2       0
23              2       0
24              3       1
25              3       1
26              3       1
27              3       1
28              7       1
29              7       1
30             14       1
31             14       1
32             14       1
33             14       1
34             14       1
35             14       1
36             14       1
37             14       1
38             14       1
39             14       1
40             14       1
41             14       1
42             14       1
43             14       1
44             14       1
45             14       1
46             14       1
47             14       1
48             40       1
49             40       1
50             40       1
51             40       1
52             48       1
53             48       1
54             48       1
55             48       1
56             48       1
57             48       1
58             48       1
59             48       1
60             56       1
61             56       1
62             56       1
63             56       1
64             56       1
65             56       1
66             56       1
67             56       1
68             56       1
69             56       1", header = TRUE)

fit <- survfit(Surv(data<span class="math-container">$weeks, data$</span>removed) ~ 1)
summary(fit, censored=TRUE)

И это вывод

Call: survfit(formula = Surv(data<span class="math-container">$weeks, data$</span>removed) ~ 1)

time n.risk n.event survival std.err lower 95% CI upper 95% CI
   1     69       7    0.899  0.0363        0.830        0.973
   2     62       4    0.841  0.0441        0.758        0.932
   3     46       4    0.767  0.0533        0.670        0.879
   7     42       2    0.731  0.0567        0.628        0.851
  14     40      18    0.402  0.0654        0.292        0.553
  40     22       4    0.329  0.0629        0.226        0.478
  48     18       8    0.183  0.0520        0.105        0.319
  56     10      10    0.000     NaN           NA           NA

Я ожидал, что количество событий будет 69, но я отбросил 12 предметов.

Сначала я думал, что неправильно использую функции пакета, и применил type="interval2" подход, следуя подобной ситуации , но падение продолжает происходить со странным непрерывным числом объектов и счетчиков событий:

as.t2 <- function(i, data) if (data<span class="math-container">$removed[i] == 1) data$</span>weeks[i] else NA
size  <- length(data<span class="math-container">$weeks)
t1    <- data$</span>weeks
t2    <- sapply(1:size, as.t2, data = data)
interval_fit <- survfit(Surv(t1, t2, type="interval2") ~ 1)
summary(interval_fit, censored=TRUE)

Затем я нашел то, что я называю объяснением в воздухе , немного прояснив ситуацию.Я понимаю, что это вызвано тем, что после «постоянного времени цензуры» появляются не подвергнутые цензуре субъекты, но опять же, почему?очень близко к каплям, которые я испытываю.Вот Klein & Moeschberger:

Усечение данных о выживании происходит, когда наблюдаются только те люди, чье время события находится в определенном окне наблюдения $ (Y_L, Y_R) $ .Человек, у которого время события не находится в этом интервале, не наблюдается, и у исследователя нет доступной информации по этому вопросу.

Обрезание справа происходит, когда $ Y_L $ равно нулю.То есть мы наблюдаем время выживания $ X $ только тогда, когда $ X \ leq Y_R $ .

С моей точки зрения, эти капли несут важную информацию для моего исследования, независимо от ихвремя входа.

Как я могу остановить капли?

...