Я пытаюсь преобразовать фрейм данных из символов, которые иногда содержат числовые или символьные диапазоны в конце строки.Если указан диапазон, мне нужно, чтобы каждое значение диапазона (A: Z | 0: 9) было разделено на отдельную строку с предварительно вставленными предыдущими символами.
test.data <- data.frame("zone" = c('X','X','Y','Y'),"postal"=c('A1V','A2B-D', 'B1V 1A1','B2V 1B6-9'),stringsAsFactors = F)
> test.data
zone postal
X A1V
X A2B-D
Y B1V 1A1
Y B2V 1B6-7
Пока чтоудалось разделить диапазоны только на отдельные элементы.
strsplit( gsub("([[:alnum:]]-[[:alnum:]])","~\\1",test.data$postal), "~" )
В идеале я ищу что-то подобное (обратите внимание на диапазоны B: D и 6: 9):
> desired.output
zone postal
X A1V
X A2B
X A2C
X A2D
Y B1V 1A1
Y B2V 1B6
Y B2V 1B7
Y B2V 1B8
Y B2V 1B9