Any way to build a graph ( igraph package ) from a Data Frame in R ?
The data frame contains node relationships.
df = data.frame (
A = c("Berlin", "Amsterdam", "New York") ,
B = c("Munich", "Utrecht", "Chicago")
)
Edges are :
Berlin -> Munich
Amsteram -> Utrecht
New York -> Chicago
igraph is very flexible and I'm sure there are a number ways to accomplish this. I found the tutorials provided on the website to be very helpful.
Here's one simple way to create a network plot from a 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)
Note: For current versions of igraph
(as of Version 1.2.1), the graph.data.frame()
function is changed to graph_from_data_frame()
, which is the only function out of these two to appear in the documentation. The graph.data.frame()
function will still work, though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With