从多个虚拟变量到单个变量

Mis*_*sha 2 variables r dataframe

如何获取n数据框中互斥的虚拟变量并将它们连接成单个变量?在以下示例中

k <- data.frame(H=sample(c(T, F), 100, T))
ifelse(k$H==T, F, sample(c(T, F))) -> k$k
k$u <- ifelse(k$H==T | k$k==T, F, T)
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以将这些转换为i具有级别的变量H,k或者u

ifelse在这个例子中,我想你可以用它等,但在我的数据文件中,我有几百个假人,而且我太懒了,不能手动执行此操作.

koh*_*ske 6

k$i <- names(k)[apply(k, 1, which)]
Run Code Online (Sandbox Code Playgroud)

将bool转换为一个虚拟变量.