在R中翻译向量

时间:2019-01-20 03:39:19

标签: r vector

如果我有一个如下所示的向量:

vec1 <- c(4, 4, 5, 1, 23, 7, 8)

我想将其转换为1:length(vec1)的向量,以便看起来像这样:

vec2 <- c(2,2,3,1,6,4,5)

vec2是vec1的翻译版本,其中根据vec2中元素的顺序,元素从1到6。 base-R中有功能可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

您正在min_rank()中寻找library(dplyr)

library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union

vec1 <- c(4, 4, 5, 1, 23, 7, 8)

dense_rank(vec1)
#> [1] 2 2 3 1 6 4 5

# or

min_rank(vec1)
#> [1] 2 2 4 1 7 5 6

reprex package(v0.2.1)于2019-01-19创建