Hi @tjcnnl1,
When sorting by characters, since 1 is considered coming before any following number, 10 comes before 2, for example. One way to get around this would be to split the ID into its two components, the character prefix, and numeric suffix, and sort by each of those:
library(tidyverse)
employee <- c('John Doe','Peter Gynn','Jolie Hope','Linda White','new')
id <- c('CKK-01', 'CKK-02', 'TTK-1','TTK-2','TTK-10')
ds <- data.frame(employee, id)
ds %>%
separate(id, into = c("prefix", "suffux"), sep = "-", remove = FALSE,
convert = TRUE) %>%
arrange(prefix, suffux)
#> employee id prefix suffux
#> 1 John Doe CKK-01 CKK 1
#> 2 Peter Gynn CKK-02 CKK 2
#> 3 Jolie Hope TTK-1 TTK 1
#> 4 Linda White TTK-2 TTK 2
#> 5 new TTK-10 TTK 10
Created on 2020-11-16 by the reprex package (v0.3.0)