大きなマトリックスを前処理する必要があります。私の例を理解しやすくするために、次のマトリックスを使用します。
生データ
col = 人、row = スキル
Rでは、私の行列は次のとおりです。
test <- matrix(c(18,12,15,0,13,0,14,0,12),ncol=3, nrow=3)
標的
私の場合、行ごとに処理する必要があります。したがって、3 つのステップがあります。行ごとに、次のことを行う必要があります。
- ij=ij の場合は 0 を入力 (したがって、すべての対角線はゼロに等しい)
- いずれかの ij=0 の場合は 0 を入れる
- それ以外の場合は、ij + ij を追加する必要があります
より明確にするために、3つのステップを示します。
ステップ 1 (行 1)
データは行1です
結果は次のとおりです。
ステップ 2 (row2)
データは行 2 です
結果は次のとおりです。
ステップ 3 (row3)
データは3行目
結果は次のとおりです。
最大行列を作成する
次に、最大一致は次のとおりです。
したがって、私の最終的な行列は次のようになります。
質問
Rでこれを達成する方法を教えてもらえますか? もちろん、私の行列がより多くの行と列を持っている場合、同じプロセスが機能するはずです...
どうもありがとう :)