按顺序重新组织R中的向量

3 sorting r vector

我有一个数字元素z如下:

> sort(z)
  [1]  1  5  5  5  6  6  7  7  7  7  7  9  9
Run Code Online (Sandbox Code Playgroud)

我想按顺序重新组织这个元素

> z
  [1]  1  2  2  2  3  3  4  4  4  4  4  5  5  
Run Code Online (Sandbox Code Playgroud)

我想将z转换为一个因子并将其用作索引应该是这样的.

Mad*_*one 8

你自己回答了:

as.integer(factor(sort(z)))
Run Code Online (Sandbox Code Playgroud)

我知道这已经被接受但我决定深入factor()了解它是如何在那里完成的.它或多或少归结为:

x <- sort(z)
match(x, unique(x))
Run Code Online (Sandbox Code Playgroud)

我认为这是一条额外的线,但如果重要的话应该更快.