2016-04-13 21 views
0

をI、次のマルコフ連鎖を持っている:微調整マルコフ連鎖

次のプロットになり
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) 

enter image description here

がどのように私は90度時計回りに回転させて、調整することができます自己指向の円形の矢印が、プロットの正中線の軸上にあり、現在のように部分的に横になっているのではなく、向かい合っていますか?

答えて

0

円の矢印は、self.shiftxself.shiftyの値を操作することで変更できます。円上の矢印の位置はself.arrposで決定されますが、角度は度ではなくラジアンで測定されます。ボックスのラベルは、states<-c("rain","sun")の代わりにstates<-c("sun","rain")のように状態のシーケンスを変更することで切り替えることができます。まだプロット全体を90度回転させる方法を理解しようとしています。

関連する問題