我有以下数据集:
df <- data.frame("attribute"=c('name', 'age', 'location'),
"A"=c(1,0,0), "B"=c(0,1,1), "C"=c(1,0,1))
names(df) <- c("attribute", "A", "B", "C")
df
attribute A B C
name 1 0 1
age 0 1 0
location 0 1 1
name, age, location
应与A,B C列中的一个匹配。属性值为1的第一个列名称应列为附加列,如下所示:
attribute A B C Column
name 1 0 1 A
age 0 1 0 B
location 0 1 1 B
for(i in df $ attribute){for(j in c(&#34; A&#34;,&#34; B&#34;,&#34; C&#34;)} print(names(姓名( DF) [%(df)%in%c(&#34; A&#34;,&#34; B&#34;,&#34; C&#34;)] [i] == 1)
< / LI>我无法解决这个问题。
答案 0 :(得分:1)
我们可以使用max.col
df$Column <- names(df)[-1][max.col(df[-1], 'first')]
df$Column
#[1] "A" "B" "B"