#Simple directed graph
edges<-data.frame(from=c(1,2,3,4,5,6,7,8),
to=c(0,1,2,3,6,7,8,5),
dist=c(1,1,1,1,1,1,1,1))
#Plot
if(requireNamespace("igraph",quietly = TRUE)){
igr<-igraph::graph_from_data_frame(edges)
plot(igr)
}
#Construct cppRouting graph
graph<-makegraph(edges,directed=TRUE)
#Simplify the graph, removing loop
simp<-cpp_simplify(graph, rm_loop=TRUE)
#Convert cppRouting graph to data frame
simp<-to_df(simp)
#Plot
if(requireNamespace("igraph",quietly = TRUE)){
igr<-igraph::graph_from_data_frame(simp)
plot(igr)
}
#Simplify the graph, keeping node 2 and keeping loop
simp<-cpp_simplify(graph,keep=2 ,rm_loop=FALSE)
#Convert cppRouting graph to data frame
simp<-to_df(simp)
#Plot
if(requireNamespace("igraph",quietly = TRUE)){
igr<-igraph::graph_from_data_frame(simp)
plot(igr)
}
Run the code above in your browser using DataLab