R中的列添加基于其他列的变量'names'的值

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

[如果我们有一个data.frame,请说类似

    ///// !col1!col2!col3
      ---------------
id123   1    0    0
      ---------------
!id435   0    1    0
      ---------------
!id777   0    0    1

我想创建一个新列,newcol的变量名的值为'1'

想要数据

    ///// !col1!col2!col3!newcol
      ---------------------
id123   1    0    0   !col1
      ---------------------
!id435   0    1    0  !col2
      ---------------------
!id777   0    0    1  !col3

1)有什么方法可以在基地或农场进行?2)(可选)如果id123在col1和col2中都具有值1时如何适应它?如何“添加”这些值,在newcol中用逗号分隔

temp$col1 <- c(1,0,0)
temp$col2 <- c(0,1,0)
temp$col3 <- c(0,0,1)

temp<-data.frame(temp$col1, temp$col2, temp$col3)

感谢您的支持:)

r dataframe dplyr tidyverse plyr
1个回答
0
投票

我们可以使用max.col

temp$newcol <- max.col(temp, 'first')
© www.soinside.com 2019 - 2024. All rights reserved.