Создать обратную кривую Каплана-Мейера с процентами ответов и временем
Я пытаюсь создать обратную зависимость КМ от времени, которое требуется пациентам для ответа на лекарственную терапию.
Time response
3 57
4 35
4 85
4 90
5 55
6 65
6 89
6 72
9 97
9 89
9 98
10 99
10 92
13 99
14 50
15 97
18 60
21 70
25 76
28 77
40 82
48 86
Время указывается в днях, а ответ - в процентах. Сначала я думал, что смогу попробовать это, используя анализ выживания, но подумал, что график опасности будет работать лучше. Я не уверен, как это сделать.
Вот ссылка на опубликованную статью, где третий рисунок показывает это. Я еще не эксперт по KM plots, но любая помощь и критика будут высоко оценены!
1 ответ
Для решения вашего вопроса я сначала реорганизовал ваши данные в данные о выживании, к которым я привык. Это одна строка на событие / цензор. Затем я подхожу к модели выживания и строю график КМ.
dt <- as.data.frame(matrix(c(3,57
,4,35
,4,85
,4,90
,5,55
,6,65
,6,89
,6,72
,9,97
,9,89
,9,98
,10,99
,10,92
,13,99
,14,50
,15,97
,18,60
,21,70
,25,76
,28,77
,40,82
,48,86),ncol=2,byrow = TRUE))
colnames(dt) <- c("time","response")
#translate percentage of responders at each time to number of responders if we start with a population of 10000
dt$individuals <- round(10000*sapply((1:nrow(dt)),function(x){prod(dt[1:x,"response"]/100)}))
s <- data.frame(time = with(dt,rep(time, individuals))
,event = 1)
library(survival)
sobj <- Surv(s$time, s$event)
fit <- survfit(sobj ~ 1)
plot(fit, fun="event")