Я хотел бы разделить строки набора данных на основе множества пар позиций начала / остановки в строке
. Я могу сделать это с помощью команды substr
для каждой из них в произвольном порядке, но это выглядит как плохой выбор.
У меня на самом деле есть 7 наборов данных, для которых мне нужно это сделать, я надеюсь, что есть способ определения массива / вектора с парами старт / стоп, а затем передать его в substr
команда.
Любое руководство по помощи было бы замечательно
# I have a datset which contains records like this
string1 <- "08103128827DP 11 513452 131 Markett Hills Rd Coolingford XYZ 9876 14602012476 000000000000000000010784Y00000000000053815"
string2 <- "08203143982DP 12 611218 12 Magicra Waters Rd Huntley XXX 9081 14602012476 000000000000000000010784Y00000000000038443"
# Make a dummy datset
V1 <- c(string1, string2)
myData <- data.frame(V1)
head(myData)
# I would like to split into distinct fields for each row of the typically large dataset that I have
fld_1 <- substr(myData, 0, 3)
fld_2 <- substr(myData, 4, 11)
fld_3 <- substr(myData, 12, 16)
fld_4 <- as.numeric(substr(myData, 187, 198))/100
# The field widths vary, as do the data types