サイズfactor
をfactor
のi番目とj番目の要素が1の場合は、(i、j)要素が1である×Nのバイナリに変換したいそれ以外は0です。R:因子をバイナリ行列に変換する効率的な方法
以下は私がやりたいことを実装する素朴な方法ですが、このコードはかなり遅いです。同じことをするもっと効率的なやり方はありますか?
size <- 100
id <- factor(sample(3, size, replace=TRUE))
mat <- matrix(0, nrow=size, ncol=size)
for(i in 1:size){
for(j in 1:size){
if(id[i] == id[j]){
mat[i, j] <- 1
}
}
}
申し訳ありませんが、私は誤ってコピー&ペーストしました。 – myuuuuun
はい...ありがとうございます – myuuuuun
'if(...)の代わりに' mat [i、j] < - (id [i] == id [j])+ 0L'を実行してください。 –