将id指示符列转换为一个ID列

时间:2018-04-18 16:10:09

标签: r dataframe data-manipulation

我想将多个二进制ID指示符列转换为一个id列。

我的意见:

       var1   var2  id1   id2  id3
obs1    .       .    0     1    0
obs2    .       .    1     0    0
obs3    .       .    0     0    1

我想要的输出:

       var1   var2  id1   id2  id3  id
obs1    .       .    0     1    0    2
obs2    .       .    1     0    0    1
obs3    .       .    0     0    1    3

2 个答案:

答案 0 :(得分:2)

Array [ 28, 53, 81, 13, 20 ]

答案 1 :(得分:1)

我们可以使用max.col

df1$id <- max.col(df1[grep("id", names(df1))])
df1
#     var1 var2 id1 id2 id3 id
#obs1    .    .   0   1   0  2
#obs2    .    .   1   0   0  1
#obs3    .    .   0   0   1  3