按增加的位数对数字进行排序

Wal*_*Yo_ 5 r stringr dplyr tidyverse

如果已经被问过,请道歉,但我正在尝试“更改”向量中数字的数字顺序。

我们以这个向量为例:

vector = c("5213456","17235896","23731074")
Run Code Online (Sandbox Code Playgroud)

我希望得到如下结果:

"1234556","12356789","01233477"   
Run Code Online (Sandbox Code Playgroud)

我知道问这个有点奇怪,但我的数据帧的一列中有数字组合,并且我发现了一些重复的情况,但无法使用简单的 unique() 函数或其他函数进行过滤,因为数字没有以相同的顺序排序方式。

多谢。

geo*_*ory 2

我会这样:

stringr::str_split(vector, '') |> 
  purrr::map_chr(~ sort(.x) |> paste(collapse=''))
[1] "1234556"  "12356789" "01233477"
Run Code Online (Sandbox Code Playgroud)