边缘列表网络图R

时间:2020-09-12 15:55:28

标签: r networking graph edge-list

我被困于在R上绘制图。特别是,我想制作一个网络图,因为 one

,但中心节点具有另一种颜色,其他节点的大小与数据集中的列权一样大。数据集如下:

structure(list(owner = c("MASTERS", "MASTERS", "MASTERS", "MASTERS", "MASTERS", "MASTERS","MASTERS", "MASTERS"), 
armed_band = c("Biakatu Communal Militia", "FPJC", "FRPI", "LRA", "Mayi Mayi Militia", "Mayi Mayi Militia (Safisha Mabaya)", "Mayi Mayi Militia (Simba)", "RCD"), 
weigth = c(1, 1, 1, 5, 2, 1, 1, 1)), 
row.names = c(NA, -8L), 
class = c("tbl_df", "tbl", "data.frame")) 

我目前正在使用的代码如下:

aux_samearea_network <- read_excel("file") 
concessions_network = network(aux_samearea_network, 
                     matrix.type = "edgelist", 
                     ignore.eval = FALSE,
                     names.eval = "weights" ) 

concessions_network %v% "Concession" = ifelse(
aux_samearea_network$armed_band %in% c("LRA",
"Mayi Mayi Militia", 
"Biakatu Communal Militia",
"FPJC",
"FRPI",
"Mayi Mayi Militia (Safisha Mabaya)",
"Mayi Mayi Militia (Simba)",
"RCD"), "Armed Band", "Concession")

ggnet2(concessions_network, 
   node.size = "weights", 
   node.color = "lightblue", 
   edge.size = 1, 
   edge.color = "grey",
   main = "Network concession MASTERS",
   edge.label = "weights",
   label = TRUE,)

有人可以帮我吗?我将非常感谢。

1 个答案:

答案 0 :(得分:1)

我想您可以像下面那样尝试igraph

library(igraph)
g <- graph_from_data_frame(aux_samearea_network)
V(g)$color <- factor(V(g)$name %in% aux_samearea_network$owner)
plot(g,
  edge.width = aux_samearea_network$weigth,
  edge.label = aux_samearea_network$weigth
)

,我们将得到 enter image description here