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

时间:2018-03-08 12:12:31

标签: r dplyr aggregate

我想找到最小的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这样的内容,但我还没有发现任何与聚合一起使用的例子。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我们可以slicewhich.min一起获取具有最小值&#39; SkinTemp&#39;的行经过&#39; id&#39;

分组后
library(dplyr)
df %>%
    group_by(id) %>%
    slice(which.min(SkinTemp))