使用日期,不同列中的时间重塑数据框并计算差异以进行绘图

时间:2018-09-21 14:16:13

标签: rstudio data-manipulation melt

 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列表示时间,即2014年1月1日在8:30 AM收集第一个样品,在8:30 PM收集最后一个样品。但是,在所有其他访问中(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) 

标明日期的时间和相对于首批样品的时间以小时为单位。

已申请帮助。

先谢谢大家。

0 个答案:

没有答案