-
Notifications
You must be signed in to change notification settings - Fork 0
/
hw7.Rmd
211 lines (150 loc) · 9.76 KB
/
hw7.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
---
title: ""
output: html_notebook
---
#### Практическая работа №7
### 9. Анализ данных типа времени жизни
> Глушков Егор Александрович, гр. 20.М04-мм
---
Данные SurMart.xls о дожитии и длительности безрецидивного периоды больных с глиобластомами.
+ *time* -- выживаемость (дней)
+ *time.c* -- индикатор цензурирования выживаемости (0 -- полные данные, 1 -- цензурированные)
+ *relapse_free* -- безрецедивный период (дней)
+ *relapse_free.c* -- индикатор цензурирования безрецедивного периода
+ *oper* -- вид оперативного вмешательства (0 -- нет, 1 -- открытое, 2 -- стереотакс. биопсия, 3 -- стереотакс. криотомия)
+ *speech_disorders* -- речевые нарушения (0 -- нет, 1 -- ?, 2 -- способность общения не нарушена, 3 -- нарушена способность общения, 4 -- неспособность к общению) -- категориальная переменная
+ *gen* -- пол (1 -- мужской, 2 -- женский) -- бинарная переменная
+ *karn* -- общее состояние по Карновскому -- метрическая переменная (ковариата)
1. Построить кривые Каплана-Мейера
a) по выживанию,
b) по длительности безрецедивного периода.
для групп, отличающихся:
a) значениями категориальной переменной,
b) бинарной переменной.
Привести средние и медианы дожития, проверить значимость различия групп.
2. Внести в модель влияние ковариаты (метрические переменные) и проверить значимость её влияния.
---
> Кривые Каплана-Мейера по выживанию
```{r}
library(readxl)
X <- read_excel("SurMart.xls")
surv_data <- na.omit(X[ , c(4, 3, 6, 5, 17, 1, 7)])
colnames(surv_data) <- c('time', 'time.c', 'relapse_free', 'relapse_free.c', 'speech_disorders', 'gen', 'karn')
surv_data$speech_disorders <- as.factor(surv_data$speech_disorders)
surv_data$gen <- as.factor(surv_data$gen)
summary(surv_data)
```
Строим кривую дожития (в качестве времени -- выживаемость в днях)
```{r}
library(survival)
library(ggfortify)
time_surv <- Surv(surv_data$time, event = surv_data$time.c)
km_fit <- survfit(time_surv ~ 1, data=surv_data)
# summary(km_fit)
# plot(km_fit)
autoplot(km_fit)
```
```{r}
hist(surv_data$time)
```
```{r}
print(km_fit, print.rmean = TRUE)
```
Согласно усеченному средему и медиане, выживаемость составляет 75-78 суток
> Кривые для групп, отличающиеся по категориальной переменной "речевые нарушения"
```{r}
km_speech <- survfit(time_surv ~ speech_disorders, data=surv_data)
# plot(km_speech, lty=seq(0, 4))
autoplot(km_speech)
```
```{r}
print(km_speech, print.rmean = TRUE)
```
Заметно, как сильно отличается усеченное среднее для группы 4 и для всех остальных: оно больше почти в два раза (однако мало объектов, чтобы всерьез говорить об этом). Среднее группы 3 также превосходит усеченные средние других групп. В то же время медианное значение наоборот больше у группы 0 и с ростом номера группы лишь уменьшается.
$H_0: h_1(t) = h_2(t) = ... = h_n(t)$
$H_1: h_i(t_0) \neq h_j(t_0)$ хотя бы для одной пары *i, j* и $t_0$
```{r}
survdiff(time_surv ~ speech_disorders, data=surv_data)
```
*p = 2e-14*, различия кривых дожития между группами (по нарушениям речи) значимы
> Кривые для групп, отличающиеся по бинарной переменной "пол"
```{r}
km_gen <- survfit(time_surv ~ gen, data=surv_data)
# plot(km_gen, lty=c(1, 2))
autoplot(km_gen)
```
```{r}
print(km_gen, print.rmean = TRUE)
```
Для мужского пола среднее время выживания (в днях) равно 76.5 (усеченное среднее), медианное -- 78.
Для женского пола среднее -- 73.7, медианное -- также 78.
$H_0: h_1(t) = h_2(t) = ... = h_n(t)$
$H_1: h_i(t_0) \neq h_j(t_0)$ хотя бы для одной пары *i, j* и $t_0$
```{r}
survdiff(time_surv ~ gen, data=surv_data)
```
*p = 0.1*, различия кривых дожития между полами не значимы на уровне *0.1 > 0.05*
> Кривые Каплана-Мейера по длительности безрецидивного периода
```{r}
rel_surv <- Surv(surv_data$relapse_free, event = surv_data$relapse_free.c)
km_fit.2 <- survfit(rel_surv ~ 1, data=surv_data)
# summary(km_fit.2)
# plot(km_fit.2)
autoplot(km_fit.2)
```
```{r}
hist(surv_data$relapse_free)
```
```{r}
print(km_fit.2, print.rmean = TRUE)
```
Медианное значение безрецидивного периода в днях составляет 150, тогда как усечённое среднее -- 955.4 дня.
> Кривые для групп, отличающиеся по категориальной переменной "речевые нарушения"
```{r}
km_speech.2 <- survfit(rel_surv ~ speech_disorders, data=surv_data)
# plot(km_speech.2, lty=seq(0, 4))
autoplot(km_speech.2)
```
```{r}
print(km_speech.2, print.rmean = TRUE)
```
Если не обращать внимания на те группы, где мало наблюдений (1, 4) и потому сложно всерьез брать это в расчет, то для групп 0, 2, 3 усеченные средние сильно отличаются: разница между некоторыми из них 3-5 раз. Медиана группы 1 также намного больше примерно равных медиан групп 2 и 3.
$H_0: h_1(t) = h_2(t) = ... = h_n(t)$
$H_1: h_i(t_0) \neq h_j(t_0)$ хотя бы для одной пары *i, j* и $t_0$
```{r}
survdiff(rel_surv ~ speech_disorders, data=surv_data)
```
*p = 0.01*, различия кривых дожития между группами значимы, так как нулевая гипотеза о равенстве функций интенсивности для разных групп отвергается.
> Кривые для групп, отличающиеся по бинарной переменной "пол"
```{r}
km_gen.2 <- survfit(rel_surv ~ gen, data=surv_data)
# plot(km_gen.2, lty=c(1, 2))
autoplot(km_gen.2)
```
```{r}
print(km_gen.2, print.rmean = TRUE)
```
Можно лишь заметить значительную разницу медиан для обоих полов: почти в 2 раза длиннее безрецедивный период у представительниц женского пола, в усеченных средних такой разницы не наблюдается.
$H_0: h_1(t) = h_2(t) = ... = h_n(t)$
$H_1: h_i(t_0) \neq h_j(t_0)$ хотя бы для одной пары *i, j* и $t_0$
```{r}
survdiff(rel_surv ~ gen, data=surv_data)
```
Различия кривых дожития между полами не значимы, так как нулевая гипотеза о равенстве интенсивностей для разных групп не отвергается с *p = 1*.
> Регрессионная модель Кокса. Влияние ковариаты
```{r}
summary(coxph(Surv(time, event = time.c) ~ karn, data=surv_data))
```
Полученные доверительные уровни вероятности порядка <2e-16 позволяют отвергнуть гипотезу о незначимости коэффициента, то есть о равенстве коэффициента нулю. Таким образом, коэффициент отличен от нуля, влияние ковариаты (общее состояние по Карновскому) на выживаемость (в днях) значимо.
```{r}
summary(coxph(Surv(relapse_free, event = relapse_free.c) ~ karn, data=surv_data))
```
Полученные p.values, имеющие порядок e-06, позволяют отвергнуть гипотезу о незначимости коэффициента, то есть о равенстве коэффициента нулю. Таким образом, коэффициент отличен от нуля, влияние ковариаты на длительность безрецидивного периода значимо.
```{r}
rho <- sum(surv_data$time.c) / sum(surv_data$time); rho
```
```{r}
fitKM <- survfit(Surv(time, event=time.c)~1, data=surv_data)
plot(fitKM, mark.time = FALSE, col=1, conf.int = FALSE, lty=2)
curve(exp(-rho*x), from=0, to=max(surv_data$time), add=TRUE, col=2)
```