Kimmo, i'll be curious to see other, maybe more elegant, answers. in the meantime, this seems to work.
---- x = data.frame(Source=rep(1:3,4), Target=c(rep(1,3),rep(2,3),rep(3,3),rep(4,3))) y <- apply(x, 1, function(y) return (c(n=min(y), x=max(y)))) res <- data.frame() for (n in unique(y["n",])) { unique(y["x",y["n",]==n]) res <- rbind(res, data.frame(A=c(n), B=unique(y["x",y["n",]==n]))) } res ---- thanks for the question! cheers, Greg ______________________________________________ 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.