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) <[EMAIL PROTECTED]>
Fax-to-email: +44 (0)870 094 0861 [NB: New number!]
Date: 29-Jan-05 Time: 14:26:31
------------------------------ XFMail ------------------------------
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html