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

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to