Geocode NYC parks based on decription. If no result write NA and continue to other rows
up vote
0
down vote
favorite
would like to request some help- want the code to keep on continuing to loop over all other rows if some parks geocode is not found. Currently, If API geocode is not found then entire code stops. Please see the enclosed image.
#looping over park description.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
result <- geocode(distinct_park$park_desc [i], output = "latlona", source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}
r api geocode
add a comment |
up vote
0
down vote
favorite
would like to request some help- want the code to keep on continuing to loop over all other rows if some parks geocode is not found. Currently, If API geocode is not found then entire code stops. Please see the enclosed image.
#looping over park description.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
result <- geocode(distinct_park$park_desc [i], output = "latlona", source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}
r api geocode
why not just test for valid lat/lon values before making the call togeocode()
? It'd be a simpleif
statement
– hrbrmstr
Nov 11 at 11:31
Yes, I was thinking if this code can be modified with an if statement -if it finds valid lat-long then gives the results otherwise puts NA and skips to next row instead of stopping. I am very new to coding - don't know how to modify it to add if statement here.
– Anurag Sethi
Nov 11 at 19:33
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
would like to request some help- want the code to keep on continuing to loop over all other rows if some parks geocode is not found. Currently, If API geocode is not found then entire code stops. Please see the enclosed image.
#looping over park description.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
result <- geocode(distinct_park$park_desc [i], output = "latlona", source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}
r api geocode
would like to request some help- want the code to keep on continuing to loop over all other rows if some parks geocode is not found. Currently, If API geocode is not found then entire code stops. Please see the enclosed image.
#looping over park description.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
result <- geocode(distinct_park$park_desc [i], output = "latlona", source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}
r api geocode
r api geocode
edited Nov 11 at 23:27
Dekker1
2,1161319
2,1161319
asked Nov 10 at 23:41
Anurag Sethi
12
12
why not just test for valid lat/lon values before making the call togeocode()
? It'd be a simpleif
statement
– hrbrmstr
Nov 11 at 11:31
Yes, I was thinking if this code can be modified with an if statement -if it finds valid lat-long then gives the results otherwise puts NA and skips to next row instead of stopping. I am very new to coding - don't know how to modify it to add if statement here.
– Anurag Sethi
Nov 11 at 19:33
add a comment |
why not just test for valid lat/lon values before making the call togeocode()
? It'd be a simpleif
statement
– hrbrmstr
Nov 11 at 11:31
Yes, I was thinking if this code can be modified with an if statement -if it finds valid lat-long then gives the results otherwise puts NA and skips to next row instead of stopping. I am very new to coding - don't know how to modify it to add if statement here.
– Anurag Sethi
Nov 11 at 19:33
why not just test for valid lat/lon values before making the call to
geocode()
? It'd be a simple if
statement– hrbrmstr
Nov 11 at 11:31
why not just test for valid lat/lon values before making the call to
geocode()
? It'd be a simple if
statement– hrbrmstr
Nov 11 at 11:31
Yes, I was thinking if this code can be modified with an if statement -if it finds valid lat-long then gives the results otherwise puts NA and skips to next row instead of stopping. I am very new to coding - don't know how to modify it to add if statement here.
– Anurag Sethi
Nov 11 at 19:33
Yes, I was thinking if this code can be modified with an if statement -if it finds valid lat-long then gives the results otherwise puts NA and skips to next row instead of stopping. I am very new to coding - don't know how to modify it to add if statement here.
– Anurag Sethi
Nov 11 at 19:33
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Consider tryCatch
to map error iterations to assign NA
to needed columns.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
tryCatch({
result <- geocode(distinct_park$park_desc [i], output = "latlona",
source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}, error = function(e) {
distinct_park$lon[i] <- NA
distinct_park$lat[i] <- NA
distinct_park$geoAddress[i] <- NA
})
}
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Consider tryCatch
to map error iterations to assign NA
to needed columns.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
tryCatch({
result <- geocode(distinct_park$park_desc [i], output = "latlona",
source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}, error = function(e) {
distinct_park$lon[i] <- NA
distinct_park$lat[i] <- NA
distinct_park$geoAddress[i] <- NA
})
}
add a comment |
up vote
0
down vote
Consider tryCatch
to map error iterations to assign NA
to needed columns.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
tryCatch({
result <- geocode(distinct_park$park_desc [i], output = "latlona",
source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}, error = function(e) {
distinct_park$lon[i] <- NA
distinct_park$lat[i] <- NA
distinct_park$geoAddress[i] <- NA
})
}
add a comment |
up vote
0
down vote
up vote
0
down vote
Consider tryCatch
to map error iterations to assign NA
to needed columns.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
tryCatch({
result <- geocode(distinct_park$park_desc [i], output = "latlona",
source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}, error = function(e) {
distinct_park$lon[i] <- NA
distinct_park$lat[i] <- NA
distinct_park$geoAddress[i] <- NA
})
}
Consider tryCatch
to map error iterations to assign NA
to needed columns.
for(i in 1:nrow(distinct_park))
{
# Print("Working...")
tryCatch({
result <- geocode(distinct_park$park_desc [i], output = "latlona",
source = "google", key = "key" )
distinct_park$lon[i] <- as.numeric(result[1])
distinct_park$lat[i] <- as.numeric(result[2])
distinct_park$geoAddress[i] <- as.character(result[3])
}, error = function(e) {
distinct_park$lon[i] <- NA
distinct_park$lat[i] <- NA
distinct_park$geoAddress[i] <- NA
})
}
answered Nov 10 at 23:51
Parfait
48.1k84066
48.1k84066
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244515%2fgeocode-nyc-parks-based-on-decription-if-no-result-write-na-and-continue-to-oth%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
why not just test for valid lat/lon values before making the call to
geocode()
? It'd be a simpleif
statement– hrbrmstr
Nov 11 at 11:31
Yes, I was thinking if this code can be modified with an if statement -if it finds valid lat-long then gives the results otherwise puts NA and skips to next row instead of stopping. I am very new to coding - don't know how to modify it to add if statement here.
– Anurag Sethi
Nov 11 at 19:33