2016-10-13 10 views
-2

Я пытаюсь создать обратный график KM времени, которое требуется пациентам для ответа на лекарственную терапию.Создайте обратную кривую Каплана Мейера с процентами ответа и временем

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 

Время в днях и ответ в процентах. Сначала я подумал, что могу попробовать это, используя анализ выживаемости, но подумал, что участок опасности будет работать лучше. Я не уверен, как это сделать.

Вот ссылка на опубликованную статью, где показан третий рисунок. Я еще не специалист по KMplots, но любая помощь и критика были бы высоко оценены!

https://www.researchgate.net/publication/7789803_Bortezomib_therapy_alone_and_in_combination_with_dexamethasone_for_previously_untreated_symptomatic_multiple_myeloma

+1

Не могли бы вы добавить свой вопрос 1) а 'dput()' ваших данных, так что проще для людей, чтобы скопировать и вставить его более легко. 2) пример кода, который вы пробовали, и почему это не то, что вы искали. Кроме того, это не похоже на данные о выживании, которые я когда-либо видел. Обычно он отформатирован как «временные» цензурные пары, которые указывают время наблюдения и произошло ли событие (то есть пациент) или нет (т.е. период наблюдения закончился без ответа). То, как вы это делаете, очень сложно сказать, что делать, поскольку большинство случаев имеет несколько процентов. – Barker

+0

Я с Баркером. Если «процент» является совокупным значением, он должен быть монотонным. Если это не кумулятивный ... то что это? –

ответ

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

enter image description here

+0

Как вы интерпретируете «процентное» значение? Я не могу сказать, что представляет ваш сюжет, поскольку вы не интерпретировали это значение в процентах от какого-либо конкретного знаменателя. –

+0

Я не уверен, что на самом деле означает ваша переменная ответа. Думаю, процент населения остался, что реагирует на лечение. Если нет, вы должны уточнить свои данные. – Wietze314

+0

А, извините, процент основан на реакции лечения лекарственной терапии на основе снижения значений M-белка по сравнению с исходной базой лабораторной стоимости. – Reeham