按R中的特定顺序对数据帧中的列进行排序
我正在处理一个与此类似的数据帧:按R中的特定顺序对数据帧中的列进行排序,r,sequence,subject,R,Sequence,Subject,我正在处理一个与此类似的数据帧: ID = c("1","1","1","1","1","1","1","2","2","2","2","2","2","2","2","2","2","2","2","2","2") TIME = c("0", "0.5", "1","1.5","2","2.5","3","0","0", "0.5","0.5", "1","1","1.5","1.5","2","2","2.5","2.5","3","3") OBS = c("0", "0.73", "0
ID = c("1","1","1","1","1","1","1","2","2","2","2","2","2","2","2","2","2","2","2","2","2")
TIME = c("0", "0.5", "1","1.5","2","2.5","3","0","0", "0.5","0.5", "1","1","1.5","1.5","2","2","2.5","2.5","3","3")
OBS = c("0", "0.73", "0.98", "1.24", "2.06","2.56","4.01", "0", "0.03", "0.76", "0.85", "2.13","2.78","3.9", "4.1", "5.4", "5.6", "7.8", "8.0","8.4","8.8")
VISITNUM = c("1","1","1","1","1","1","1","1","2", "1","2","1","2","1","2","1","2","1","2","1","2")
DF = data.frame(ID, TIME, OBS, VISITNUM)
我在排序数据帧时遇到问题-基本上我希望按以下时间顺序排序数据:
TIMEORDERED <- c("0","0.5","1","1.5","2","2","2.5","3")
问题是在同一个受试者身上存在测量(DF$ID=2)(但不同的就诊,请参见DF$VISITNUM)
我怀疑plyr包中的order()函数或arrange()函数是我的朋友,但我的尝试并没有成功
任何帮助都将不胜感激
真诚地
Y是的,您可以使用
order()
执行此操作,您只需指定数据帧所需的变量:
DF.ordered <- DF[order(DF$ID, DF$VISITNUM, DF$TIME),]
DF.ordered <- DF[order(DF$ID, DF$VISITNUM, DF$TIME),]
library(plyr)
DF.arranged <- arrange(DF, ID, VISITNUM, TIME)