我想将多个二进制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
答案 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