2017-04-27 112 views
0

一個簡單的網絡圖我有一個數據幀作爲劇情中的R

mydf <- data.frame(ID = c(1,2,3,4,5), MatchedID = c(3,4,2,5,1), Weight = c(12,45,5,19,9)) 

我要繪製顯示ID和matchedID和權重之間的關係爲關係的強度的網絡圖。 什麼是最好的方式來表示這與標籤?我喜歡那些在https://briatte.github.io/ggnet/

回答

1

你可以試試:

library(igraph) 
g <- graph_from_data_frame(mydf, directed=TRUE) 
g <- set_edge_attr(g, "weight", value = mydf$Weight) 
plot(g, edge.width = E(g)$weight/5, edge.label=E(g)$weight) 

enter image description here

或者使用GGPLOT2

library(GGally) 
library(sna) 
library(network) 
library(tidyverse) 

mydf %>% 
    spread(MatchedID, Weight, fill = 0) %>% 
    select(-ID) %>% 
    network(names.eval = "weights", ignore.eval = FALSE) %>% 
    ggnet2(label = TRUE, edge.label = "weights") 

enter image description here

+0

真棒Jimbou - 這個工作 – Tarak

+0

不客氣。請考慮通過點擊左側的檢查按鈕來接受答案。 – Jimbou