1
新列有類似的優先級列表:從一個二進制數據幀像下面生產基於優先級列表
Google: High priority
Yahoo: medium priority
Microsoft: low priority
:
> df <- data.frame(id = c(1,2,3), Google = c(1,1,0), Yahoo = c(1,1,1), Microsoft = c(0,1,1))
> df
id Google Yahoo Microsoft
1 1 1 1 0
2 2 1 1 1
3 3 0 1 1
怎麼可能產生一個新的數據框在其中列是相同的,但取決於優先級,只有具有最高優先級的列有1保留,而另一列在每一行中取0。預期結果的
例子:
> df <- data.frame(id = c(1,2,3), Google = c(1,1,0), Yahoo = c(0,0,1), Microsoft = c(0,0,0))
> df
id Google Yahoo Microsoft
1 1 1 0 0
2 2 1 0 0
3 3 0 1 0
嘗試'DF [-1] < - T(申請(DF [-1],1,函數(X){I1 < - 這(X == MAX(X))[1];替換(x,(i1 + 1):length(x),0)}))' – akrun