Другой вариант:
gsub("([A-Za-z])(?=[A-Za-z])|([A-Za-z])$", "\\1\\21", strings, perl = T)
Вывод:
[1] "A1" "A3B1C3" "A2B1C1"
Или, если у вас только прописные буквы, просто:
gsub("([A-Z])(?=[A-Z])|([A-Z])$", "\\1\\21", strings, perl = T)
В основном это находит буквы, которыелибо сопровождается другой буквой, либо находится в конце строки и заменяет их собой, в то же время добавляя нужное число, 1
в данном случае.