Изменение формы фрейма данных с датами, временем в разных столбцах и вычислением разницы для построения графика - PullRequest
0 голосов
/ 21 сентября 2018
 ID<-rep(1,times=5)
VISITDT<-c("1/1/2014","1/10/2014","2/15/2014","3/16/2014","6/9/2014")
SMPLCOLLEC<-c(1,1,1,0,1)
SMP1_HRS<-c(8,8,9,0,7.5)
SMP1_MIN<-c(30,50,25,0,30)
SMP2_HRS<-c(11,0,0,0,0)
SMP2_MIN<-c(30,0,0,0,0)
SMP3_HRS<-c(13,0,0,0,0)
SMP3_MIN<-c(30,0,0,0,0)
SMP4_HRS<-c(16,0,0,0,0)
SMP4_MIN<-c(30,0,0,0,0)
SMP5_HRS<-c(20,0,0,0,0)
SMP5_MIN<-c(30,0,0,0,0)

df=cbind(ID,VISITDT,SMPLCOLLEC,SMP1_HRS,SMP1_MIN,SMP2_HRS,SMP2_MIN,SMP3_HRS,SMP3_MIN,SMP4_HRS,SMP4_MIN,SMP5_HRS,SMP5_MIN)

Здравствуйте,

Этот фрейм данных предназначен для одного субъекта, и я хотел бы обновить эти данные.Столбцы SMP_hours и SMP_MIN представляют время, т.е. первый образец был собран в 8:30 утра, а последний образец был собран в 8:30 вечера 1 января 2014 года.Однако во всех других посещениях (VISITDT), если SMPLCOLLEC == 1 указывает на то, что образцы были собраны, а 0 указывает на то, что при этом посещении не было никаких образцов.Я пытаюсь использовать расплавить / собрать, и я продолжаю сталкиваться с ошибкой, где иногда даты больше не в формате времени / даты.Окончательная цель - заполнить разницу во времени между каждой выборкой по отношению к первой выборке для этого пациента и иметь ее длинный формат, чтобы итоговый кадр данных выглядел следующим образом.

ID2<-rep(1,times=9)
VISITDT2<-c(rep("1/1/2014",times=5),"1/10/2014","2/15/2014","3/16/2014","6/9/2014")
Time2<-c(0,3,5,9,12,240,1080,"NA",5000)

df2=cbind(ID2,VISITDT2,Time2) 

Если указана дата и время по отношению к первым образцам указано в часах.

Применить помощь приветствуется.

Спасибо, ребята, заранее.

...