我有这个数据集:
article1 article2 article3
R1 R1 R20
R2 R13 R5
R3 R7 R21
R4 R8 R22
R5 R14 R8
R11 R15 R23
R12 R9 R24
R6 R10 R25
R2 R10
R6 R9
R16 R26
R17 R27
R4 R28
R18 R29
R19 R3
R30
R31
R1
R32
R7
R33
我想使用igraph创建一个图形网络,并将其作为节点文章1,2,3和边缘R1,2,...
如何在igraph中设置节点和边缘并生成图形。
我已经计算了数据集中每个R的频率,这里是列表:
R frequency
R1 3
R2 2
R3 2
R4 2
R5 2
R6 2
R7 2
R8 2
R9 2
R10 2
R11 1
R12 1
R13 1
R14 1
R15 1
R16 1
R17 1
R18 1
R19 1
R20 1
R21 1
R22 1
R23 1
R24 1
R25 1
R26 1
R27 1
R28 1
R29 1
R30 1
R31 1
R32 1
R33 1
答案 0 :(得分:2)
试试这个例子:
library(dplyr)
library(tidyr)
library(igraph)
graphDat <- df1 %>%
gather(key = "From", "To", na.rm = TRUE) %>%
graph_from_data_frame()
plot(graphDat)
以下是更多network plot options的优质资源。
df1 <- read.table(text = "article1 article2 article3
R1 R1 R20
R2 R13 R5
R3 R7 R21
R4 R8 R22
R5 R14 R8
R11 R15 R23
R12 R9 R24
R6 R10 R25
NA R2 R10
NA R6 R9
NA R16 R26
NA R17 R27
NA R4 R28
NA R18 R29
NA R19 R3
NA R30 NA
NA R31 NA
NA R1 NA
NA R32 NA
NA R7 NA
NA R33 NA
", header = TRUE, stringsAsFactors = FALSE)