我有以下两州马尔可夫链:
pre<-cbind(c(rep("rain",100),rep("sun",100),rep("rain",100)))
post<-cbind(c(rep("rain",50),rep("sun",70),rep("rain",100),rep("sun",80)))
df<-cbind(pre,post)
df<-as.data.frame(df)
colnames(df)<-c("pre","post")
states<-c("rain","sun")
probsCase<-function(i,j){
sum(as.character(df$pre)==states[i] & as.character(df$post)==states[j])/sum(as.character(df$pre)==states[i])
}
transitionMatrix<-outer(1:2,1:2,Vectorize(probsCase))
colnames(transitionMatrix)<-states
rownames(transitionMatrix)<-states
library(diagram)
plotmat(transitionMatrix,relsize=0.75)
产生以下情节:
在我看来,&#34; sun&#34;之间的箭头。和&#34;下雨&#34;应指向相反的方向,否则各自的比例不会加1。为了进行比较,您可以在线查看这个类似的情节,其中比例来自do <1 p
有什么想法吗?
答案 0 :(得分:1)
顶部图表中的数字表示进入目标状态的金额。进入该状态的所有行的总和加1.在底部图中,离开先前状态的所有行的总数加1。可以以任一方式计算值,但应标记图以显示正在显示的内容
答案 1 :(得分:1)
您只需绘制转置矩阵以获得所需内容。
所以这个:
plotmat(t(transitionMatrix),relsize=0.75)
将发挥作用