我有一个数据框,其中每一行代表一个记录的事件。举个例子,假设我测量了经过的汽车的速度,有些汽车不止一次地经过我。
cardata <- data.frame(
car.ID = c(3,4,1,2,5,4,5),
speed = c(100,121,56,73,87,111,107)
)
我可以对列表进行排序并找出三个最快的事件...
top3<-head(cardata[order(cardata$speed,decreasing=TRUE),],n=3)
> top3
car.ID speed
2 4 121
6 4 111
7 5 107
...但您会注意到,汽车 4 记录了两个最快的时间。如何在没有任何重复汽车 ID 的情况下找到三个最快的事件?我意识到,在这种情况下,可能“前 3 名”列表将不包括三个最快的事件。