Saya tidak segera mengetahui fungsi "built-in" (misalnya, dalam base
atau serupa), tetapi kita dapat melakukan ini dengan sangat mudah dan efisien dalam beberapa baris kode.
Berikut adalah fungsi yang mengambil matriks (bukan bingkai data) sebagai input dan menghasilkan jumlah transisi ( prob=FALSE
) atau, secara default ( prob=TRUE
), perkiraan probabilitas transisi.
# Function to calculate first-order Markov transition matrix.
# Each *row* corresponds to a single run of the Markov chain
trans.matrix <- function(X, prob=T)
{
tt <- table( c(X[,-ncol(X)]), c(X[,-1]) )
if(prob) tt <- tt / rowSums(tt)
tt
}
Jika Anda perlu menyebutnya pada frame data, Anda selalu dapat melakukannya
trans.matrix(as.matrix(dat))
Jika Anda mencari beberapa paket pihak ketiga, maka Rseek atau situs pencarian R dapat menyediakan sumber daya tambahan.