On Fri, Dec 10, 2010 at 07:20:55AM -0800, profaar wrote: > > HI friends, > I have very lengthy graph data in edge list format. I want to convert it > into node list format. > > example: > EDGE LIST FORMAT > 1 2 > 1 3 > 1 4 > 1 5 > 2 3 > 2 4 > 3 2 > 4 1 > 4 3 > 4 5 > 5 2 > 5 4 > > ITS NODE LIST FORMAT SHOULD BE LIKE: > 1 2 3 4 5 > 2 3 4 > 3 2 > 4 1 3 > 5 2 4 > > Kindly suggest me which package in R provides the support to do my task.
How long the list of egdes is? For not too large lists, consider also library(graph) G <- new("graphNEL", edgemode="directed") G <- addNode(as.character(1:5), G) edges <- read.table(file=stdin(), colClasses="character") 1 2 1 3 1 4 1 5 2 3 2 4 3 2 4 1 4 3 4 5 5 2 5 4 G <- addEdge(from=edges[, 1], to=edges[, 2], G) edgeL(G) $`1` $`1`$edges [1] 2 3 4 5 $`2` $`2`$edges [1] 3 4 $`3` $`3`$edges [1] 2 $`4` $`4`$edges [1] 1 3 5 $`5` $`5`$edges [1] 2 4 Very large lists can be handled by unix/linux sort command (if not sorted already) and by extracting the end-nodes of the edges starting in each node. In a sorted file, they form blocks of consecutive lines, so a simple text processing with perl is sufficient. Petr Savicky. ______________________________________________ R-help@r-project.org mailing list 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.