如何使用igraph包从数据框架构建图形?

时间:2012-08-02 20:08:41

标签: r dataframe igraph

从R?中的数据框构建图形(igraph包)的任何方法

数据框包含节点关系。

    df = data.frame ( 
A = c("Berlin", "Amsterdam", "New York") , 
B = c("Munich", "Utrecht", "Chicago") 
) 

边缘是:

Berlin -> Munich
Amsteram -> Utrecht
New York -> Chicago

1 个答案:

答案 0 :(得分:14)

igraph非常灵活,我确信有很多方法可以实现这一目标。我发现website上提供的教程非常有用。

以下是从data.frame创建网络图的一种简单方法:

library(igraph)

df <- data.frame(
  A = c("Berlin", "Amsterdam", "New York") , 
  B = c("Munich", "Utrecht", "Chicago"))

df.g <- graph.data.frame(d = df, directed = FALSE)

plot(df.g, vertex.label = V(df.g)$name)

enter image description here

注意:对于igraph的当前版本(从版本1.2.1开始),graph.data.frame()功能更改为graph_from_data_frame(),这是唯一的这两个函数出现in the documentation。但graph.data.frame()功能仍然有用。