ОП имеет написано
Я более знаком с strsplit()
. Но поскольку разделять не на что, в данном случае это не применимо
Au contraire! Есть что-то, на что можно разделить, и это называется lookbehind :
strsplit(District, "(?<=[A-Z]{2})", perl = TRUE)
Внешний вид работает как " вставка невидимого разрыва " после 2 заглавных букв и разбивает там строки.
В результате получается список векторов
[[1]]
[1] "AR" "01"
[[2]]
[1] "AZ" "03"
[[3]]
[1] "AZ" "05"
[[4]]
[1] "AZ" "08"
[[5]]
[1] "CA" "01"
[[6]]
[1] "CA" "05"
[[7]]
[1] "CA" "11"
[[8]]
[1] "CA" "16"
[[9]]
[1] "CA" "18"
[[10]]
[1] "CA" "21"
, который можно превратить в матрицу, например,
do.call(rbind, strsplit(District, "(?<=[A-Z]{2})", perl = TRUE))
[,1] [,2]
[1,] "AR" "01"
[2,] "AZ" "03"
[3,] "AZ" "05"
[4,] "AZ" "08"
[5,] "CA" "01"
[6,] "CA" "05"
[7,] "CA" "11"
[8,] "CA" "16"
[9,] "CA" "18"
[10,] "CA" "21"