2016-09-28 6 views
0

Я новичок в R (начал учить себя на прошлой неделе) и новичок в этом форуме.R TIME-TO-EVENT

Я работаю над набором данных, где мне нужно определить время-событие. У меня есть три переменные (лекарство, пациент и дата), и мне нужно разработать разницу во времени для каждого пациента, когда они переключают наркотики. Следует также отметить, что пациент может перейти от препарата А к препарату В и обратно к препарату А, поэтому последовательность даты имеет важное значение.

я в настоящее время эти данные являются dataframe называемые «данные»

data <-data.frame(Drug=sample(c("Drug A","Drug B", "Drug C", "Drug D", "Drug E"),100, 
replace=TRUE),PAT=rep(1:10,each=10),Date=sample(seq(as.Date('2003/01/01'), 
as.Date('2016/01/01'), by="day"), 100)) 
data<-data[order(data$PAT,data$Date),] 

Любая помощь будет большим, и я сожалею, что не было вещи ясно или отклонился от протокола данного форума ...

Требуемый результат - это доля пациентов, которые перешли от своего первого препарата к своему второму препарату (а также от 2-го, 3-го, 4-го и 4-го до 5-го) в каждый момент времени ... время 0 (когда существует первая запись каждого пациента), 100% пациентов не переключились, следующая строка будет днем ​​2 (где 99% пациентов могут не иметь Witched), затем 3-й день, то день 4 и т.д.

Приветствия

+3

Пожалуйста, используйте dput, чтобы показать данные примера, а не как изображение (как мы не можем скопировать с изображения для тестирования). Кроме того, ожидаемый результат должен быть отличным. – akrun

+1

Вы заботитесь только о первом коммутаторе или должны быть индикаторы для тех, кто после этого (т. Е. Хотите ли вы, чтобы проценты, которые переключались хотя бы один раз или число переключателей, которые произошли)? Если пациент начал на препарате А при t0, затем переключился на B в t1 и, наконец, вернулся к A при t2, если бы временные ряды для этого пациента выглядели бы как t0 = 0, t1 = 1, t2 = 0, чтобы указать, что они вернулись на первом лекарственном средстве или t0 = 0, t1 = 1, t2 = 1, чтобы указать, что они переключаются один раз, начиная с t1 или t0 = 0, t1 = 1, t2 = 2, чтобы указать общее количество переключателей, которые сделал пациент? – Barker

+1

Были поставлены два разных вопроса: один; временные интервалы до переключения, которые будут конкретным набором результатов по сравнению с двумя; пропорции пациентов, переходящих в каждый суточный интервал, который может быть результатом интервала между лекарственными препаратами или только по промежутку результата. Они не будут одинаковыми, и совершенно непонятно, какой из них желательно из-за несоответствующих описаний и неспособности работать с примерами вручную и предоставить точный ответ для нескольких случаев. –

ответ

0

.... ответ на «часть Deux», если я правильно понял намерение. Примечание. Я уменьшил количество дат от 100 до 10, чтобы получить последовательности одновременно.

library(TraMineR) 

data <- data.frame(Drug=sample(c("Drug A","Drug B", "Drug C", "Drug D", "Drug E"),100,replace=TRUE), 
       PAT=rep(1:10,each=10), 
       Date=sample(seq(as.Date('2003/01/01'),as.Date('2016/01/01'), by="day"), 10)) 

data <- data[order(data$PAT,data$Date),] 

data2 <- reshape(data, idvar="PAT", timevar="Date", direction="wide") 

data.seq <- seqdef(data2,2:11) 

seqiplot(data.seq) 
seqdplot(data.seq) 

Последняя функция сюжет дает .... enter image description here