这个问题在这里已有答案:
我想找到每个id发生的最小SkinTemp值和相应的Time。
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
这样的东西,但我没有找到任何与聚合一起使用的例子。有什么想法吗?
我们可以用slice
来which.min
来获得在'id'分组后具有最小值'SkinTemp'的行
library(dplyr)
df %>%
group_by(id) %>%
slice(which.min(SkinTemp))