How to select the row with the maximum value in each group

后端 未结 16 2524
北荒
北荒 2020-11-21 04:18

In a dataset with multiple observations for each subject I want to take a subset with only the maximum data value for each record. For example, with a following dataset:

16条回答
  •  耶瑟儿~
    2020-11-21 05:00

    by is a version of tapply for data frames:

    res <- by(group, group$Subject, FUN=function(df) df[which.max(df$pt),])
    

    It returns an object of class by so we convert it to data frame:

    do.call(rbind, b)
      Subject pt Event
    1       1  5     2
    2       2 17     2
    3       3  5     2
    

提交回复
热议问题