私は次のように0から1の間の値を持つマトリックスマットを持っています(確率である可能性があります):
> t <- c(22, 65, 37, 84, 36, 14, 9, 19, 5, 49)
> x <- t/max(t)
> mat <- x%*%t(x)
ここで、この行列bをマルコフ遷移行列に変換します。つまり、各行の要素を合計して1にします。これは、行列をrowSumsで除算することによって実現します。
> y <- mat/rowSums(mat)
> z <- y/rowSums(y)
> rowSums(z)
[1] 1 1 1 1 1 1 1 1 1 1
ただし、これにより、各列の要素の値は同じになります。
[,1] [,2] [,3] [,4] [,5]
[1,] 0.06470588 0.1911765 0.1088235 0.2470588 0.1058824
[2,] 0.06470588 0.1911765 0.1088235 0.2470588 0.1058824
[3,] 0.06470588 0.1911765 0.1088235 0.2470588 0.1058824
[4,] 0.06470588 0.1911765 0.1088235 0.2470588 0.1058824
これは私が望むものではありません。各要素に異なる値を設定する必要がありますが、これを行う方法がわかりません。どんな提案もありがたいです!