私は2列の行列を持っています。以下の式を使用して、全体に対する各列の行ごとの寄与率を計算しました。
B = matrix (c(2,4,3,1,5,7,5,3,8,3,7,3),nrow=6,ncol=2)
sweep(B, 1, rowSums(B), FUN="/")
これにより、以下の結果が得られます。
[,1] [,2]
[1,] 0.2857143 0.7142857
[2,] 0.5714286 0.4285714
[3,] 0.2727273 0.7272727
[4,] 0.2500000 0.7500000
[5,] 0.4166667 0.5833333
[6,] 0.7000000 0.3000000
ただし、各行に重みを追加する必要があります。つまり、行 1 には 1、行 2 には 3 です。重み付けされた寄与率を計算するにはどうすればよいですか?