找到每个id的最小y值及其对应的x值[duplicate]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我想找到每个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这样的东西,但我没有找到任何与聚合一起使用的例子。有什么想法吗?

r dplyr aggregate
1个回答
3
投票

我们可以用slicewhich.min来获得在'id'分组后具有最小值'SkinTemp'的行

library(dplyr)
df %>%
    group_by(id) %>%
    slice(which.min(SkinTemp))
© www.soinside.com 2019 - 2024. All rights reserved.