iGraph关联矩阵

时间:2016-02-07 12:50:34

标签: r networking igraph

我是iGraphs的新手 - 尝试绘制一个关联矩阵(矩阵与每个节点和每个边缘和1; s,0和-1表示边缘是否起源,不连接或终止于特定节点。

这是一个带有数据帧的简单工作示例 - 5个节点,10个边,

r <- 5
borders <- data.frame(permutations(5,2))
borders <- borders[c(seq(1,nrow(borders), by = 2)),]
colnames(borders) <- c("head", "tail")
borders$cap <- rnorm(n = nrow(borders), mean = 5, sd = 2)
network <- graph.data.frame(borders) 
plot(network)
as_incidence_matrix(network)

这是结果:

Error in as_incidence_matrix(network) : 
  Not a bipartite graph, supply `types' argument

这一定是关于igraphs最简单的事情 - 任何人都有一个非常快速的转向或修复 - 我想我使用的是错误的功能。

1 个答案:

答案 0 :(得分:0)

as_incidence_matrix()仅适用于二分网络,您提供的示例不是一个。相反,您可以尝试使用intergraph函数将igraph对象转换为网络对象,并使用as.matrix函数将其转换为关联矩阵。试试这个,

library(intergraph)
library(network)
as.matrix(asNetwork(network),matrix.type="incidence")