I have one data set like this:
> head(base_1[,c("logradouro","nomemun_x")])
logradouro nomemun_x
1 RODOVIA BR-419 KM 236 Anastácio
2 RUA CASTRO ALVES, 1130 São Marcos
3 CONEGO JOAO MARCHESI, 526 São Marcos
4 RUA BONFILHO NICOLETTI, 670 São Marcos
5 VENANCIO AIRES, 444 São Marcos
6 OSVALDO ARANHA, 478 São Marcos
and i get a code Find the coordinates latitude/longitude:
geocodeAdddress <- function(address) {
require(RJSONIO)
url <- "http://maps.google.com/maps/api/geocode/json?address="
url <- URLencode(paste(url, address, "&sensor=false", sep = ""))
x <- fromJSON(url, simplify = FALSE)
if (x$status == "OK") {
latitude <- x$results[[1]]$geometry$location$lat
longitude <- x$results[[1]]$geometry$location$lng
localizacao_tipo <- x$results[[1]]$geometry$location_type
formatacao_endereco <- x$results[[1]]$formatted_address
out<-cbind(longitude,latitude,localizacao_tipo,formatacao_endereco)
} else {
out <- NA
}
Sys.sleep(0.2) # API only allows 5 requests per second
out
}
Now a want a program to Make all possible combinations with the variable logradouro and nomemun_x to find the coordinates that I want.
Try this:
df
# logradouro nomemun_x
#1 1 RODOVIA BR-419 KM 236 Anastácio
#2 2 RUA CASTRO ALVES, 1130 São Marcos
#3 3 CONEGO JOAO MARCHESI, 526 São Marcos
#4 4 RUA BONFILHO NICOLETTI, 670 São Marcos
#5 5 VENANCIO AIRES, 444 São Marcos
#6 6 OSVALDO ARANHA, 478 São Marcos
out <- df[as.matrix(expand.grid(1:nrow(df), 1:nrow(df))),]
head(out, 10)
# logradouro nomemun_x
#1 1 RODOVIA BR-419 KM 236 Anastácio
#2 2 RUA CASTRO ALVES, 1130 São Marcos
#3 3 CONEGO JOAO MARCHESI, 526 São Marcos
#4 4 RUA BONFILHO NICOLETTI, 670 São Marcos
#5 5 VENANCIO AIRES, 444 São Marcos
#6 6 OSVALDO ARANHA, 478 São Marcos
#1.1 1 RODOVIA BR-419 KM 236 Anastácio
#2.1 2 RUA CASTRO ALVES, 1130 São Marcos
#3.1 3 CONEGO JOAO MARCHESI, 526 São Marcos
#4.1 4 RUA BONFILHO NICOLETTI, 670 São Marcos
or with cartesian product
:
out <- merge(df, df, by=NULL)[1:2]
head(out, 10)
# logradouro.x nomemun_x.x
#1 1 RODOVIA BR-419 KM 236 Anastácio
#2 2 RUA CASTRO ALVES, 1130 São Marcos
#3 3 CONEGO JOAO MARCHESI, 526 São Marcos
#4 4 RUA BONFILHO NICOLETTI, 670 São Marcos
#5 5 VENANCIO AIRES, 444 São Marcos
#6 6 OSVALDO ARANHA, 478 São Marcos
#7 1 RODOVIA BR-419 KM 236 Anastácio
#8 2 RUA CASTRO ALVES, 1130 São Marcos
#9 3 CONEGO JOAO MARCHESI, 526 São Marcos
#10 4 RUA BONFILHO NICOLETTI, 670 São Marcos