eflores89 - 7 months ago 71

R Question

Unlike questions I've found, I want to get the unique of two columns without order.

I have a df:

`df<-cbind(c("a","b","c","b"),c("b","d","e","a"))`

> df

[,1] [,2]

[1,] "a" "b"

[2,] "b" "d"

[3,] "c" "e"

[4,] "b" "a"

In this case, row 1 and row 4 are "duplicates" in the sense that b-a is the same as b-a.

I know how to find unique of columns 1 and 2 but I would find each row unique under this approach.

Answer

There are lot's of ways to do this, here is one:

```
unique(t(apply(df, 1, sort)))
duplicated(t(apply(df, 1, sort)))
```

One gives the unique rows, the other gives the mask.

Source (Stackoverflow)