A generic auxiliary function that produces a numeric vector which
will sort in the same order as `x`

.

`xtfrm(x)`

x

an R object.

A numeric (usually integer) vector of the same length as `x`

.

This is a special case of ranking, but as a less general function than
`rank`

is more suitable to be made generic. The default
method is similar to ```
rank(x, ties.method = "min",
na.last = "keep")
```

, so `NA`

values are given rank `NA`

and all
tied values are given equal integer rank.

The `factor`

method extracts the codes.

The default method will unclass the object if
`is.numeric(x)`

is true but otherwise make use of
`==`

and `>`

methods for the class of `x[i]`

(for
integers `i`

), and the `is.na`

method for the class of
`x`

, but might be rather slow when doing so.

This is an internal generic primitive, so S3 or S4 methods can be written for it.