我有一个包含三个信息的数据集:时间、类型、值。对于每个时间点,我想知道最大值(见(*)),还想知道最大值的对应类型。我知道如何使用聚合来获取每个时间点的最大值,但是如何获取对应的类型呢?
x <- data.frame(time=c(rep(1:2, 2), rep(2:1, 2)), type=LETTERS[1:4], value=1:8)
aggregate(value ~ time, data=x, FUN=max) # (*) ... but what is the corresponding type?
如果可能的话,我正在寻找基于aggregate()
,tapply()
或类似的解决方案(不需要额外的包)。