x %>% transmute( a=pmin(Source,Target), b=pmax(Source,Target)) %>%
unique() %>% rename(Source=a, Target=b)
On Fri, Aug 20, 2021 at 2:12 PM Greg Minshall <minshall at umich.edu>
wrote:
> 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 at 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.
>
[[alternative HTML version deleted]]