# [R] find the permutation function of a sorting

David Winsemius dw|n@em|u@ @end|ng |rom comc@@t@net
Wed May 23 06:02:17 CEST 2018

```
> On May 22, 2018, at 11:37 PM, John <miaojpm using gmail.com> wrote:
>
>
> > sort(c("bc","ac","dd"), index.return=TRUE)
> \$x
> [1] "ac" "bc" "dd"
>
> \$ix
> [1] 2 1 3
>
>
> We have the permutation, namely 1-->2, 2-->1, 3-->3.
> How can I apply the permutation function to a new set
> c("D","E", "F")?
> so that the result is
> c("E","D", "F").

So you want:

> x <- sort(c("bc","ac","dd"), index.return=TRUE)
> x
\$x
[1] "ac" "bc" "dd"

\$ix
[1] 2 1 3

>  c("D","E", "F")[ x\$ix ]
[1] "E" "D" "F"

>
> 2018-05-23 11:06 GMT+08:00 David Winsemius <dwinsemius using comcast.net>:
>
>
> > On May 22, 2018, at 10:57 PM, John <miaojpm using gmail.com> wrote:
> >
> > Thanks, David.
> > I got the answer from the web.
> > Is there any easy way to permute a set (e.g., a set of characters) by the permutation it returns? Thanks,
> >
> >
> > > x <- c(10,7,4,3,8,2)
> > > sort(x, index.return=TRUE)
> > \$x
> > [1]  2  3  4  7  8 10
> >
> > \$ix
> > [1] 6 4 3 2 5 1
> >
>
> I don't understand what is being requested. The \$ix value is the same as the one returned `by order`.
>
> David.
>
>
> > 2018-05-23 10:49 GMT+08:00 David Winsemius <dwinsemius using comcast.net>:
> >
> >
> > > On May 22, 2018, at 10:06 PM, John <miaojpm using gmail.com> wrote:
> > >
> > > Hi,
> > >
> > >   Is there any way to find the permutation function of the sorting and to
> > > apply the function (or its inverse) elsewhere?
> > >
> > >   For example, the following permutation function from the sorting in the
> > > matrix form is
> > > c(1,2,3), c(2,1,3)
> > >
> > >> sort(c("bc","ac","dd"))
> > > [1] "ac" "bc" "dd"
> > >
> >
> > I think you are asking for the `order` function.
> >
> > >   I try to find it in the permutations/permute package, but I can't find it
> > >
> > > John
> > >
> > >       [[alternative HTML version deleted]]
> >
> >
>
>

```