[R] RE: [S] Different behaviour of unique(), R vs. Splus.
Liaw, Andy
andy_liaw at merck.com
Tue Jun 29 19:41:41 CEST 2004
The source of the incompatibility:
In S-PLUS 6.2:
> methods("unique")
splus splus menu splus
"unique.data.frame" "unique.default" "unique.name" "unique.rowcol.names"
In R-1.9.1:
> methods("unique")
[1] unique.array unique.data.frame unique.default unique.matrix
Unless there's some sort of coordination (or even just separate effort) on
either/both R Core and Insightful developers to make sure there's agreement
on what methods to provide in the base code, such problem can only get
worse, not better, I guess.
Best,
Andy
> From: Rolf Turner
>
> Apologies for the cross-posting, but I thought this snippet of info
> might be vaguely interesting to both lists.
>
> I did a ***brief*** search to see if this issue had previously been
> discussed and found nothing. So I thought I'd tell the list about a
> difference in behaviour between unique() in R and unique() in Splus
> which bit me just now.
>
> I was trying to convert a package from Splus to R and got nonsense
> answers in R. Turned out that within the bowels of the package I was
> doing something like
>
> u <- unique(y)
>
> where y was a matrix of integer values. In Splus this gives a
> (short) vector of unique values. In R it gives a matrix of the same
> dimensionality as y, except that any duplicated rows are eliminated.
>
> (This looks like being very useful --- once you know about it. And
> it was probably mentioned in the R release notes at one time, but, as
> Dr. Hook says, ``I was stoned and I missed it.'')
>
> E.g.
> set.seed(42)
> m <- matrix(sample(1:5,20,TRUE),5,4)
> u <- unique(m)
>
> In R ``u'' is identical to ``m''; in Splus ``u'' is vector (of
> length 5).
>
> To get what I want in R I simply need to do
>
> u <- unique(as.vector(y))
>
> Simple, once you know. Took me a devil of a long time to track down
> what was going wrong, but!
>
> cheers,
>
> Rolf Turner
> --------------------------------------------------------------------
> This message was distributed by s-news at lists.biostat.wustl.edu. To
> ...(s-news.. clipped)...
>
>
More information about the R-help
mailing list