How to make a unique in R by column A and keep the row with maximum value in column B

前端 未结 2 601
情歌与酒
情歌与酒 2021-01-13 12:29

I have a data.frame with several columns (17). Column 2 have several rows with the same value, I want to keep only one of those rows, specifically the one that has the maxim

2条回答
  •  攒了一身酷
    2021-01-13 13:04

    A solution using package data.table:

    set.seed(42)
    dat <- data.frame(A=c('a','a','a','b','b'),B=c(1,2,3,5,200),C=rnorm(5))
    library(data.table)
    
    dat <- as.data.table(dat)
    dat[,.SD[which.max(B)],by=A]
    
       A   B         C
    1: a   3 0.3631284
    2: b 200 0.4042683
    

提交回复
热议问题