挨拶によるマトリックスの要素をアレンジ行列は左上のセクションを占めます。次のサンプルを考える:</p> <p>私の目標は、の「最高トラフィック」部分とマルコフ遷移行列(ある状態から別の状態に移動する確率)を作成することで、rowSums +短い「適用」Q
inputData <- c(
c(5, 3, 1, 6, 7),
c(9, 7, 3, 10, 11),
c(1, 2, 3, 4, 5),
c(2, 4, 6, 8, 10),
c(9, 5, 2, 1, 1)
)
MAT <- matrix(inputData, nrow = 5, ncol = 5, byrow = TRUE)
colnames(MAT) <- c("A", "B", "C", "D", "E")
rownames(MAT) <- c("A", "B", "C", "D", "E")
rowSums(MAT)
I最大行の合計を持つ要素を降順に、左上に配置されるように、このマトリックスの再配列の要素へのWAN。これは理にかなっていますか?この場合、私が探している注文はB、D、A、E、Cとなります。
ここでは、遷移行列を構成するために記述した関数を示します。ダブルトランスポーズを伴わないもっとエレガントな方法がありますか?
TMAT <- apply(t(MAT), 2, function(X) X/sum(X))
TMAT <- t(TMAT)
私は次のことを試してみました:
TMAT <- apply(MAT, 1, function(X) X/sum(X))
しかし、私のカスタム関数は、まだかなりの行より、配列の列の上に塗布なっています。チェック試みについて:ここ
rowSums(TMAT)
colSums(TMAT)
行の合計は、事前に1人の...
多くのおかげで、 アーロン
ご協力いただきありがとうございます。これらはトリックでした。 A – Aaron