Hello,

The problem can be solved using graph theory tools.

library(igraph)

edg <- read.table(text="
ID ID2
1    2
1    3
2    3
6    5
7    8
8    9
", header=TRUE)

(G <- graph(t(edg) - 1, directed=TRUE))  # igraph vertices are zero-based
V(G)$name <- 1:9

#V(G)$label <- V(G)$name
#plot(G, layout=layout.circle)

comp <- decompose.graph(G)
lapply(comp, function(x) colnames(get.adjacency(x)))

Hope this helps,

Rui Barradas

Em 30-05-2012 22:01, Oritteropus escreveu:
Hi all,
Given a table like the one below, I want to get a number of vectors equal to
the groups of connected ID (ID are considered connected if they are in the
same row). Each vector should contains all the connected ID .

e.g. In this case: vect1  (1,2,3)         vect2  (5,6)     vect3 (7,8,9)

ID ID2
1    2
1    3
2    3
6    5
7    8
8    9

Does someone know how to do it automatically for tables with thousands of
rows?
Thanks a lot

--
View this message in context: 
http://r.789695.n4.nabble.com/How-to-aggregate-combinations-tp4631867.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.

______________________________________________
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.

Reply via email to