リスト内のベクトル文字列を互いに比較する行列を作成しました。比較行列を%で表します。
sapply(names(setlist), function(x) sapply(names(setlist), function(y) sum(setlist[[x]] %in% setlist[[y]])))
A B C D
A 50 1 0 0
B 1 6 0 0
C 0 0 51 8
D 0 0 8 46
例えばまったく同じであるベクトルAとベクトルB内の文字列の数がAで50の総文字列で、1であり、私はデータを正規化したいB.
以内6上記の例を使用してください。 AとBの合計発声は56なので、1を56 = .018で割ります。最終的な結果は次のようになります。
A B C D
A .5 .018 0 0
B .018 .5 0 0
C 0 0 .5 .082
D 0 0 .082 .5
この正規化はどのように機能しますか?なぜ正規化後の対角が1ですか?私はすべての値を正規化(A-Aは0,082)するか、行/列で正規化する(A-Bは1/51 = 0,0196)と考えました。 –