2015-02-04 13 views
4

Я хотел бы построить матрицу перехода, но я хочу 2 столбца с каждым состоянием.R переход график

Моя матрица:

> R 
     0 30 60 90 <NA> 
0 0.75 0.37 0.17 0.07 0.97 
30 0.15 0.40 0.32 0.02 0.02 
60 0.00 0.20 0.19 0.05 0.01 
90 0.00 0.00 0.03 0.52 0.00 
NA 0.10 0.03 0.29 0.35 0.00 

Таким образом, из состояния 0, 75% остается, 15% идет на 30 и так далее.

Дело в том, что я не хочу следующий сюжет:

library(diagram) 
plotmat(R) 

enter image description here

Вместо этого я хочу 2 колонки с каждым государством ... в соответствии с this answer я должен был бы создать таблица 10x10 .... Есть ли другой способ сделать то же самое, не создавая такую ​​таблицу?

Mi Идея заключается в том, чтобы добраться до этого графика без изменения исходной таблицы:

Для этого я преобразовал исходную матрицу с помощью следующего кода:

L<-matrix(nrow = 10, ncol = 10, byrow = TRUE, data = 0) 

for (i in 1:(nrow(R))){ 
    for (j in 1: ncol(R)) 
{L[i*2,j*2-1]<-R[i,j] 
}} 

rownames(L)<-c('0','0', '30','30','60','60','90','90','NA','NA') 

plotmat(L[1:6,1:6]) 

enter image description here

Спасибо

ответ

1

Вот сюжет, который может удовлетворить ваши потребности (образец кода, матрица и пакет, который производит участок): Transition Matrix Plot:

install.packages("MmgraphR", repos="http://R-Forge.R-project.org") 
library(MmgraphR) 
########################################## 
# Plotting a probability transition matrix 
########################################## 

trmat<-matrix(c (0.1, 0.05, 0.05, 0.80, 
       0.06, 0.02, 0.03, 0.89, 
       0.03, 0.01, 0.01, 0.95, 
       0, 0, 0, 1), nrow = 4, ncol = 4, byrow = TRUE) 

trmatplot(trmat) 
+0

Предупреждение в install.packages: пакет «MmgraphR» не доступен (для R версии 3.3.1) –