私は次の問題の解決策を持っていますが、それはかなり醜く、おそらくもっと短い方法で行うことができます。お役に立てば幸いです。
私の入力は次のようになります。
C1 C2
A B
B D
D C
A D
私の出力は次のようになります。
A B C D
1 1 0 0
0 1 0 1
0 0 1 1
1 0 0 1
私の現在の解決策は次のとおりです。
index <- unique(unlist(input[,1:2]))
output <- matrix(0,nrows=dim(input),ncols=length(index))
for(i in 1:dim(input)) {
output[i, input[i,]$C1] <- 1
output[i, input[i,]$C2] <- 1
}
もちろん、実際には 4 ~ 5 行で問題ありませんが、R の初心者でさえ、これはforループを使用するのに適切ではないと感じています。それに加えて、実際のデータには 3 つ以上の列があるため、最終的には見栄えがよくありません。どうすればよりスマートな方法でそれを行うことができますか?
乾杯