我想读取一堆因子数据并从中创建一个可以很好地可视化的转换矩阵。我发现了一个非常可爱的包,称为“heemod”,它与“diagram”一起做得不错。
对于我的第一个快速而简单的方法,运行一段 Python 代码来获取矩阵,然后使用这个 R 代码片段来绘制图形。请注意,转换概率来自未公开且不太重要的 Python 代码,但您也可以假设我是在纸上计算的。
library('heemod')
library('diagram')
mat_dim <- define_transition(
state_names = c('State_A', 'State_B', 'State_C'),
.18, .73, .09,
.22, .0, .78,
.58, .08, .33);
plot(mat_dim)
但是,我想将所有内容集成到 R 中,并在 R 中直接从序列数据中生成转换矩阵和图形。
这是我到目前为止所拥有的:
library(markovchain)
library('heemod')
library('diagram')
# the data --- this is normally read from a file
data = c(1,2,1,1,1,2,3,1,3,1,2,3,1,2,1,2,3,3,3,1,2,3,2,3,1,2,3,3,1,2,3,3,1)
fdata = factor(data)
rdata = factor(data,labels=c("State_A","State_B","State_C"))
# create transition matrix
dimMatrix = createSequenceMatrix(rdata, toRowProbs = TRUE)
dimMatrix
问题:如何传输 dimMatrix 以便 define_transition 可以处理它?
mat_dim <- define_transition( ??? );
plot(mat_dim)
有任何想法吗?有更好/更简单的解决方案吗?