根据R中的字符对数据框进行排序

Sort a dataframe according to characters in R

我得到了数据框(代码),我想根据 combName 的数字顺序对其进行排序。

> code
# A tibble: 1,108 x 2
   combName sumLength
   <chr>        <dbl>
 1 20-1          8.05
 2 20-10        14.7 
 3 20-100       21.2 
 4 20-101       17.6 
 5 20-102       25.4 
 6 20-103       46.3 
 7 20-104       68.7 
 8 20-105       24.3 
 9 20-106       46.3 
10 20-107       14.0 
# ... with 1,098 more rows

之后左栏应该如下所示:

> code
# A tibble: 1,108 x 2
   combName sumLength
   <chr>        <dbl>
 1 20-1          8.05
 2 20-2          ...
 3 20-3          ...
 4 20-4          ...
 5 20-5          ...
...
10 20-10        14.7 
# ... with 1,098 more rows

不知道我能做些什么来达到这种格式。

这个有用吗:

library(dplyr)
library(tidyr)
df
# A tibble: 10 x 2
   combName sumLength
   <chr>        <dbl>
 1 20-102       25.4 
 2 20-100       21.2 
 3 20-101       17.6 
 4 20-105       24.3 
 5 20-10        14.7 
 6 20-103       46.3 
 7 20-104       68.7 
 8 20-1          8.05
 9 20-106       46.3 
10 20-107       14   
df %>% separate(combName, into = c('1','2'), sep = '-', remove = F) %>% 
type.convert(as.is = T) %>% arrange(`1`,`2`) %>% select(-c(`1`,`2`))
# A tibble: 10 x 2
   combName sumLength
   <chr>        <dbl>
 1 20-1          8.05
 2 20-10        14.7 
 3 20-100       21.2 
 4 20-101       17.6 
 5 20-102       25.4 
 6 20-103       46.3 
 7 20-104       68.7 
 8 20-105       24.3 
 9 20-106       46.3 
10 20-107       14