Get names of column with max value for each row

后端 未结 3 1835
醉酒成梦
醉酒成梦 2020-12-07 04:05

i need your help, i have a data frame like this

int x  y  z
1   0  1  0
2   1  0  0
3   0  0  1

and the result that i need must be like thi

3条回答
  •  伪装坚强ぢ
    2020-12-07 04:25

    A solution to this similar question.

    tdf <- data.frame(
      A = c(1,1,0,0),
      B = c(0,0,1,0),
      C = c(0,0,0,1)
    )
    
    library(magrittr)
    
    tdf %>%
      lapply(sum) %>%
      (function(x){
        a <- c()
        for(i in 1:length(x)){
          a <- c(a, rep(names(x[i]), x[i]))
        }
        return(a)
      })
    

提交回复
热议问题