2016-04-12 16 views
2

Aşağıdakileri içeren aşağıdaki veri çerçevelerini kullanıyorum: kızgın, sakin ve yoruldum. Aşağıdaki veri çerçevesi, bir devletin diğerine geçişi için ayrı ayrı durumlar sunmaktadır.Üç durumlu Markov zincir çizimi oluşturma

pre<-cbind(c(rep("tired",100),rep("angry",100),rep("calm",100))) 
post<-cbind(c(rep("tired",50),rep("angry",70),rep("calm",100),rep("tired",80))) 
df<-cbind(pre,post) 
df<-as.data.frame(df) 
colnames(df)<-c("pre","post") 

Ben de böyle "oyun alanı" olarak adlandırılır ve bakar olan üç ülke için de Markov zincir arsa buidling olup başarmak istiyoruz Ne: Ben R yapacağını nasıl

enter image description here ?

Şimdiden teşekkürler!

cevap

1

diagram adresindeki plot yöntemini kullanarak markovchain paketini kullanabiliriz.

edelim ilk hesaplama senin df

states<-c("tired","angry","calm") 

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:3,1:3,Vectorize(probsCase)) 
colnames(transitionMatrix)<-states 
rownames(transitionMatrix)<-states 

geçiş olasılık matrisi Şimdi matriksi başlatmak ve çizmek için markovchain kullanmak

library(markovchain) 
markovChain <- new("markovchain", states=states, transitionMatrix=transitionMatrix) 
plot(markovChain,package="diagram") 

DÜZENLEME:

Eğer markovchain yüklerken sorun varsa paket, biz aslında kullanamazsınız ve doğrudan diagram kullanın gereken pakette, sadece transitionMatrix

library(diagram) 
plotmat(transitionMatrix,relsize=0.7) 

Ardından yanıt plotmat

+0

sayesinde seçenekleri kullanarak zevkinize göre bir görünüm çimdik, başarıyla transitionMatrix lazım, ama sorun paketini yüklerken sahip ' markovchain', özellikle bağımlılığı 'RCurl'. Ben Crunchbang Linux Waldorf üzerinde çalışan ben R sürüm 3.2.3 var. Nasıl yükledin? En azından arsanın nasıl göründüğünü yayınlamak için cevabınızı ekleyebilir misiniz? Tekrar teşekkürler. – Oposum

+0

Yeni düzenleme yapın – adaien

+0

teşekkürler! çalışır ancak bazı sebeplerden dolayı grafiğin sağ ve sol kenar boşlukları R grafik aygıtının ötesindedir. Çizgide "yorgun", "öfkeli", "sakin" durumlarla 1, 2 ve 3 sayılarının yerini almanın bir yolu var mı? – Oposum