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@lists.biostat.wustl.edu. To
> unsubscribe send e-mail to s-news-request@lists.biostat.wustl.edu with
> the BODY of the message: unsubscribe s-news
>
>
------------------------------------------------------------------------------
Notice: This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New
Jersey, USA 08889), and/or its affiliates (which may be known outside the
United States as Merck Frosst, Merck Sharp & Dohme or MSD and in Japan, as
Banyu) that may be confidential, proprietary copyrighted and/or legally
privileged. It is intended solely for the use of the individual or entity named
on this message. If you are not the intended recipient, and have received this
message in error, please notify us immediately by reply e-mail and then delete
it from your system.
------------------------------------------------------------------------------
|