2016年4月26日火曜日

【R】 ネットワーク作図

#snaパッケージが必要
install.packages("sna")
library(sna)

#サンプルデータ
> df.pred_Pv
Source: local data frame [64 x 3]
Groups: class_now [?]

   class_now class_next        Pv
      (fctr)     (fctr)     (dbl)
1          A          A 0.5250000
2          A          B 0.2250000
3          A          C 0.1750000
4          A          D 0.0000000
5          A          E 0.0000000
6          A          F 0.0000000
7          A         NP 0.0750000
8          A          Z 0.0000000
9          B          A 0.1164384
10         B          B 0.3835616
..       ...        ...       ...

#行列変換
df.Pv_netwaork <- acast(df.pred_Pv, class_now ~ class_next, max, value.var = "Pv")

#作図
gplot(df.Pv_netwaork,mode = "circle",edge.lwd = df.Pv_netwaork*15, edge.col = "#c8c8cb", displaylabels = TRUE)

・補足
辺の太さをデータの値にできる。また、下記のように15倍することも可能。
edge.lwd =  df.Pv_netwaork*15

0 件のコメント :

コメントを投稿