R 如何从二元矩阵中绘制关系图

R 如何从二元矩阵中绘制关系图,r,matrix,binary,R,Matrix,Binary,我试图创建一个图表,显示参与9/11袭击的人之间的关系,但我不太理解输入。我使用循环来对劫机者进行分组(劫机者1认识劫机者2;劫机者5认识劫机者3等等),但这对我来说不起作用 我的工作结果应该是一个关系图,如本页所示: 我使用csv格式的数据: 数据模式类似于下面的屏幕截图。有三个文件可用,但如果我正确理解以获得所需的内容,则从第一个文件(?)获得足够的数据 我想画一个关系图,并提取关于哪一个劫机者的关系最密切的信息(我应该使用igraph库中的betweenness()。以下是一种使用i

我试图创建一个图表,显示参与9/11袭击的人之间的关系,但我不太理解输入。我使用循环来对劫机者进行分组(劫机者1认识劫机者2;劫机者5认识劫机者3等等),但这对我来说不起作用

我的工作结果应该是一个关系图,如本页所示:

我使用csv格式的数据:

数据模式类似于下面的屏幕截图。有三个文件可用,但如果我正确理解以获得所需的内容,则从第一个文件(?)获得足够的数据




我想画一个关系图,并提取关于哪一个劫机者的关系最密切的信息(我应该使用
igraph
库中的
betweenness()

以下是一种使用
igraph
的方法:

首先,让我们获取数据并将其转换为邻接矩阵:

temp <- tempfile(fileext = ".zip")
download.file("https://sites.google.com/site/ucinetsoftware/datasets/covert-networks/911hijackers/9%2011%20Hijackers%20CSV.zip?attredirects=0&d=1",
              temp,
              mode = "wb")
data <- read.csv(unz(temp,"CSV/9_11_HIJACKERS_ASSOCIATES.csv"))

my.rownames <- data$X
data2 <- sapply(data[,-1], as.numeric)
rownames(data2) <- my.rownames
Adj <- as.matrix(data2)

看起来您已经创建了一个邻接矩阵。将数据转换为图形对象,然后使用
plot()
result.Thx获取答案。当我使用它时,我有一个错误:
'mde(x):'list'对象不能强制键入'double'
。啊,你可能有一个data.frame,只需要用as.matrix()传递到一个矩阵就可以了。我想你可能想要的是
,而不是
中间性
temp <- tempfile(fileext = ".zip")
download.file("https://sites.google.com/site/ucinetsoftware/datasets/covert-networks/911hijackers/9%2011%20Hijackers%20CSV.zip?attredirects=0&d=1",
              temp,
              mode = "wb")
data <- read.csv(unz(temp,"CSV/9_11_HIJACKERS_ASSOCIATES.csv"))

my.rownames <- data$X
data2 <- sapply(data[,-1], as.numeric)
rownames(data2) <- my.rownames
Adj <- as.matrix(data2)
library(igraph)
Graph <- graph_from_adjacency_matrix(Adj)

V(Graph)$vertex_degree <-  degree(Graph)
plot.igraph(Graph,
            vertex.size = V(Graph)$vertex_degree,
            layout=layout.fruchterman.reingold, main="Hijacker Relationships")