I have a vector of character data. Most of the elements in the vector consist of one or more letters followed by one or more numbers. I wish to split each element in the
You can also use colsplit from reshape2 to split your vector into character and digit columns in one step:
library(reshape2)
colsplit(my.data, "(?<=\\p{L})(?=[\\d+$])", c("char", "digit"))
Result:
char digit
1 aaa NA
2 b 11
3 b 21
4 b 101
5 b 111
6 ccc 1
7 ffffd 1
8 ccc 20
9 ffffd 13
Data:
my.data <- c("aaa", "b11", "b21", "b101", "b111", "ccc1", "ffffd1", "ccc20", "ffffd13")