Hi, I have an edgelist network data (undirected) with multiple graphs like this. For each graph (i.e., denoted by doc.id), I want to calculate the shortest path length (SPL) between the nodes. By using the code attached below, I can only calculate the SPL for only 1 graph at a time. How can I handle the multiple networks in R? Thanks for the help. Lun graph = data.frame(V1=c("A","A","B","B","C","D"), V2=c("C","D","F","A","A","Z"), doc.id=c("1","2","2","3","3","3")) el=as.matrix(graph) el[,1]=as.character(el[,1]) el[,2]=as.character(el[,2]) graph=graph.edgelist(el[,1:2],directed=FALSE) sp <- shortest.paths(graph, v=V(graph), to=V(graph), mode = c("all"), weights = NULL, algorithm = c("dijkstra")) sp <-graph.adjacency(sp, mode=c( "undirected"), weighted=T) sp <- cbind( get.edgelist(sp) , round( E(sp)$weight, 3 ))
[[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.