Hello everyone,
Thank you all for clarification (e.g: that merge(... sort = F) will not
retain the original order).
It is still not clear to me why it was chosen to be implemented in this way.

To Peter -
Thank you for the solution code, I will use it.

One interesting think that I don't get, is why on my machine the `creation
time` attribute is not kept when the object is returned from the function.
Here is what I get:

> tmp <- mergeRO(a1, a2, sort <http://inside-r.org/r-doc/base/sort> = F)> attributes <http://inside-r.org/r-doc/base/attributes>(tmp)$names[1] "name" "num"  $row.names[1] 1 2 3 5 6 4 $class[1] "data.frame"

And as you can see, the  `creation time` attribute does not show up.



Best,
Tal


----------------Contact
Details:-------------------------------------------------------
Contact me: Tal.Galili@gmail.com |  972-52-7275845
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
www.r-statistics.com (English)
----------------------------------------------------------------------------------------------




On Mon, Nov 8, 2010 at 11:51 PM, Peter Alspach <
Peter.Alspach@plantandfood.co.nz> wrote:

> Tena koe Tal
>
> sort: logical.  Should the results be sorted on the 'by' columns?
>
> Thus it is clear what sort=TRUE does, sort=FALSE does not do this.  That
> doesn't mean it leaves the result in the same order as x (your a1), although
> many people (including me at first) assume it does.  It is easy enough to
> write a wrapper function to retain the order of x in cases like yours.  For
> example:
>
> mergeRO <- function (x, y, ...)
> {
>    myMerge <- merge(cbind(x, myOrder = 1:nrow(x)), y, ...)
>    attr(myMerge, "creation time") <- Sys.time()
>    myMerge[order(myMerge$myOrder), colnames(myMerge) != "myOrder"]
> }
>
> but I'm not sure this will work in all circumstances in which people might
> use merge().
>
> HTH ...
>
> Peter Alspach
>
> > -----Original Message-----
> > From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-
> > project.org] On Behalf Of Tal Galili
> > Sent: Tuesday, 9 November 2010 10:10 a.m.
> > To: r-help@r-project.org
> > Subject: [R] Help with getting ?match to not sort
> >
> > Hello all,
> >
> > I think I am missing something about the sorting parameter in the
> > "match"
> > command/
> > Here is an example:
> >
> >
> > a1 <- data.frame(name = c("D", "B", "C", "A", "A", "C"))
> > a2 <- data.frame(name = c("A", "B", "C", "D"), num = 1:4)
> > a1
> > a2
> > merge(a1, a2, sort = F, by.x = T)
> >
> >
> >
> > The result is:
> >
> >   name num
> > 1    D   4
> > 2    B   2
> > 3    C   3
> > 4    C   3
> > 5    A   1
> > 6    A   1
> >
> >
> > While I wish my rows to be in the same order as in a1, they are having
> > some
> > other order.
> >
> > What am I missing here?
> >
> >
> > Thanks.
> >
> >
> > ----------------Contact
> > Details:-------------------------------------------------------
> > Contact me: Tal.Galili@gmail.com |  972-52-7275845
> > Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew)
> > |
> > www.r-statistics.com (English)
> > -----------------------------------------------------------------------
> > -----------------------
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-
> > guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>
> The contents of this e-mail are confidential and may be subject to legal
> privilege.
>  If you are not the intended recipient you must not use, disseminate,
> distribute or
>  reproduce all or any part of this e-mail or attachments.  If you have
> received this
>  e-mail in error, please notify the sender and delete all material
> pertaining to this
>  e-mail.  Any opinion or views expressed in this e-mail are those of the
> individual
>  sender and may not represent those of The New Zealand Institute for Plant
> and
>  Food Research Limited.
>

	[[alternative HTML version deleted]]

