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

时间:2011-03-27 16:27:40

标签: r variables 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)

有一种简单的方法可以将这些转换为一个变量i,其级别为Hku

我想你可以用ifelse等来做这个,在这个例子中,但在我的数据文件中我有几百个假人,而且我懒得手动这样做。

1 个答案:

答案 0 :(得分:6)

k$i <- names(k)[apply(k, 1, which)]

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