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.



enter image description here



#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])
}









share|improve this question
























  • 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















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.



enter image description here



#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])
}









share|improve this question
























  • 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













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.



enter image description here



#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])
}









share|improve this question















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.



enter image description here



#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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 11 at 23:27









Dekker1

2,1011319




2,1011319










asked Nov 10 at 23:41









Anurag Sethi

12




12












  • 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


















  • 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
















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












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
})
}





share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    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

























    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
    })
    }





    share|improve this answer

























      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
      })
      }





      share|improve this answer























        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
        })
        }





        share|improve this answer












        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
        })
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 10 at 23:51









        Parfait

        48k84066




        48k84066






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Xamarin.iOS Cant Deploy on Iphone

            Glorious Revolution

            Dulmage-Mendelsohn matrix decomposition in Python