我有一个像这样的数据框
ID EPOCH
B 2
B 3
A 1
A 2
A 3
C 0
我想做的是按照ID首次出现日期(即每个ID的EPOCH的最小值)来订购它,以便我得到
ID EPOCH
C 0
A 1
A 2
A 3
B 2
B 3
我设法只根据Epoch和ID
订购数据框df[order(df$EPOCH,df$ID),]
但它不再是由ID聚集的,即
C 0
A 1
A 2
B 2
A 3
B 3
非常感谢
答案 0 :(得分:3)
首先为EPOCH
ID
添加每个data.frame
最小data <- read.table(textConnection("ID EPOCH
B 2
B 3
A 1
A 2
A 3
C 0"), header=TRUE)
a <- aggregate(data$EPOCH, data["ID"], min)
names(a)[2] <- "min_EPOCH"
data <- merge(data, a)
的列:
o <- order(data$min_EPOCH, data$ID, data$EPOCH)
data[o, ]
然后对该新列进行排序:
{{1}}