У меня есть серия из 170 000 адресов, которые я нахожусь в процессе геокодирования.Мне нужно расширить диапазон адресов, представленных в наборе данных, чтобы я мог геокодировать все возможности.Например, если вы посмотрите на строку 1 в первом фрейме данных, я пытаюсь развернуть "1-5 Fake St" в новые строки, которые читают 1 Fake St, 3 Fake St и 5 Fake St (ПРИМЕЧАНИЕ:2 Fake St и 4 Fake St отсутствуют, потому что они будут на другой стороне улицы).
Вот пример данных:
df <- data.frame("ID"=c(1:5),
"Address_From"=c(1,3,2,5,1),
"Address_To"=c(5,5,8,5,NA),
"St_name"= c("Fake","Unreal","Nope","Road","No"),
"suffix"=c("St","Ave","Ave","Rd","Way"),
"parcel"=c(2:6), stringsAsFactors=F)
Текущий фрейм данных:
Я пытаюсь расширить данные до каждого потенциального адреса в каждой последовательности «Address_From - Address_To», чтобы я получил отдельный адрес в каждой строке.Вот что я надеюсь получить:
Идеальный кадр данных:
Я пытался использовать некоторые операторы ifelse:
df$sequence <- NA
df$sequence <- ifelse((!is.na(df$Address_From) <= !is.na(df$Address_To)), 0,
(ifelse((!is.na(df$Address_From) == (!is.na(df$Address_To)+1)),1,
ifelse((!is.na(df$Address_From) > !is.na(df$Address_To) & !is.na(df$Address_From) == !is.na(df$Address_To)+1),
(seq(!is.na(df$Address_To), !is.na(df$Address_From), by=2)),NA))))
Но я продолжаю получать ту же ошибку:
Error in seq.default(!is.na(df$Address_From), !is.na(df$Address_To), :
'from' must be of length 1
Я также не уверен, как преобразовать нужные последовательности (например, 1,3,5) в отдельные строки (например, 1 Fake St, 3 Fake St, 5 Fake St).