如何在数据框中使用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)
有一种简单的方法可以将这些转换为一个变量i
,其级别为H
,k
或u
?
我想你可以用ifelse
等来做这个,在这个例子中,但在我的数据文件中我有几百个假人,而且我懒得手动这样做。
答案 0 :(得分:6)
k$i <- names(k)[apply(k, 1, which)]
将bool转换为一个虚拟变量。