[R] unique rows
(Ted Harding)
Ted.Harding at nessie.mcc.ac.uk
Sat Jan 29 15:26:31 CET 2005
On 29-Jan-05 dax42 wrote:
> Dear list,
>
> I would like to extract from a matrix all those rows, that are unique.
> By unique, I don't mean the unique that is accomplished by the function
> unique(), though...
>
> Consider the following example:
> > h
> [,1] [,2]
> [1,] 4 4
> [2,] 1 4
> [3,] 4 1
>
> Now unique(h) returns exactly the same - because 1 4 and 4 1 is not the
> same for that function.
> What I would like to see, though, are only the first two rows (or the
> first and the third, it does not matter).
>
> Does anybody know how to do that?
> Cheers, Dax.
How about:
h[!duplicated(t(apply(h,1,sort))),]
[,1] [,2]
[1,] 4 4
[2,] 1 4
Better than
unique(t(apply(h,1,sort)))
[,1] [,2]
[1,] 4 4
[2,] 1 4
in general (though it comes to the same for your example)
since it preserves the order of elements in each row.
Cheers,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861 [NB: New number!]
Date: 29-Jan-05 Time: 14:26:31
------------------------------ XFMail ------------------------------
More information about the R-help
mailing list