我想找到最小的SkinTemp值以及每个id发生的相应时间。
df<-data.frame(Time=seq(65),
SkinTemp=rnorm(65,37,0.5),
id=rep(1:10,c(5,4,10,6,7,8,9,8,4,4)))
我已成功找到每个组的最小值,但无法找到相应的时间:
a<-aggregate(data=df,SkinTemp~id, min)
或
df %>% group_by(id) %>% summarise(minSkinTemp = min(SkinTemp))
我错过了which.min
这样的内容,但我还没有发现任何与聚合一起使用的例子。有什么想法吗?
答案 0 :(得分:3)
我们可以slice
与which.min
一起获取具有最小值&#39; SkinTemp&#39;的行经过&#39; id&#39;
library(dplyr)
df %>%
group_by(id) %>%
slice(which.min(SkinTemp))