Combines extract_number with sort to sort by integer values within character strings. Useful to sort in order Unit 1, Unit 2, Unit 3 opposed to Unit 1, Unit 10, Unit 11 (with 1's leading the default sort method).

sort_numeric(vec)

Arguments

vec

character vector to sort.

Value

a sorted character vector, sorted by its extracted integers

Details

If any strings do not contain a number they will be placed first by default.

Examples

library(propalloc) # undesired sort method pull_unique(sov, "department") %>% sort_numeric()
#> dept_1 dept_2 dept_3 dept_4 dept_5 dept_6 dept_7 dept_8 #> "dept_1" "dept_2" "dept_3" "dept_4" "dept_5" "dept_6" "dept_7" "dept_8" #> dept_9 dept_10 dept_11 dept_12 dept_13 dept_14 dept_15 dept_16 #> "dept_9" "dept_10" "dept_11" "dept_12" "dept_13" "dept_14" "dept_15" "dept_16" #> dept_17 dept_18 dept_19 dept_20 dept_21 dept_22 dept_23 dept_24 #> "dept_17" "dept_18" "dept_19" "dept_20" "dept_21" "dept_22" "dept_23" "dept_24" #> dept_25 dept_26 dept_27 dept_28 dept_29 dept_30 dept_31 dept_32 #> "dept_25" "dept_26" "dept_27" "dept_28" "dept_29" "dept_30" "dept_31" "dept_32" #> dept_33 dept_34 dept_35 dept_36 dept_37 dept_38 dept_39 dept_40 #> "dept_33" "dept_34" "dept_35" "dept_36" "dept_37" "dept_38" "dept_39" "dept_40" #> dept_41 dept_42 dept_43 #> "dept_41" "dept_42" "dept_43"
# correct method pull_unique(sov, "department") %>% sort_numeric()
#> dept_1 dept_2 dept_3 dept_4 dept_5 dept_6 dept_7 dept_8 #> "dept_1" "dept_2" "dept_3" "dept_4" "dept_5" "dept_6" "dept_7" "dept_8" #> dept_9 dept_10 dept_11 dept_12 dept_13 dept_14 dept_15 dept_16 #> "dept_9" "dept_10" "dept_11" "dept_12" "dept_13" "dept_14" "dept_15" "dept_16" #> dept_17 dept_18 dept_19 dept_20 dept_21 dept_22 dept_23 dept_24 #> "dept_17" "dept_18" "dept_19" "dept_20" "dept_21" "dept_22" "dept_23" "dept_24" #> dept_25 dept_26 dept_27 dept_28 dept_29 dept_30 dept_31 dept_32 #> "dept_25" "dept_26" "dept_27" "dept_28" "dept_29" "dept_30" "dept_31" "dept_32" #> dept_33 dept_34 dept_35 dept_36 dept_37 dept_38 dept_39 dept_40 #> "dept_33" "dept_34" "dept_35" "dept_36" "dept_37" "dept_38" "dept_39" "dept_40" #> dept_41 dept_42 dept_43 #> "dept_41" "dept_42" "dept_43"