这是我关于SO的第一个问题...请保持愉快。 :)
我有一个data.table,其中多列是boolean。我现在想要创建一个新列,该列取决于哪个布尔列为真。
即。
DT <- data.table(a = c(F,T,F), b = c(F,F,F), c = c(F,F,T), d = c(F,F,F))
DT
a b c d
1: FALSE FALSE FALSE FALSE
2: TRUE FALSE FALSE FALSE
3: FALSE FALSE TRUE FALSE
结果应该是这样的:
DT
a b c d new column
1: FALSE FALSE FALSE FALSE "none"
2: TRUE FALSE FALSE FALSE "column a"
3: FALSE FALSE TRUE FALSE "column c"
想象一下,有很多列,因此嵌套的ifelse语句实际上不可行。原始数据表中还有一些列不是布尔值,不应修改。
感谢您的帮助。 :)