Мы можем использовать sub
с 3 группами захвата
sub("(^.{2})(.*:)(.*)", "\\2\\1\\3", x)
#[1] "chr17:g.7577121G>A" "chr3:g.52712586T>C"
^.{2}
- Первая группа захвата - это первые два символа.
.*:
- Вторая группа захвата - строка до двоеточия.
.*
- Третья группа захвата - оставшаяся строка.
и теперь мы располагаем эти группы в порядке 2-1-3.
данные
x <- c("g.chr17:7577121G>A", "g.chr3:52712586T>C")