从R?中的数据框构建图形(igraph包)的任何方法
数据框包含节点关系。
df = data.frame (
A = c("Berlin", "Amsterdam", "New York") ,
B = c("Munich", "Utrecht", "Chicago")
)
边缘是:
Berlin -> Munich
Amsteram -> Utrecht
New York -> Chicago
答案 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)
注意:对于igraph
的当前版本(从版本1.2.1开始),graph.data.frame()
功能更改为graph_from_data_frame()
,这是唯一的这两个函数出现in the documentation。但graph.data.frame()
功能仍然有用。