0
library(ZillowR)
library(tidyverse)

#Try
# Sample data
set_zillow_web_service_id("X1-ZWz17seirkzuh7_93aho")

map2_dfr(sample3$Street, sample3$ZipCode,
         ~{GetDeepSearchResults(address = .x,
                                citystatezip = as.character(.y),
                                rentzestimate=FALSE) %>% 
             unlist() %>% 
             enframe()
         }) %>% 
  filter(!str_detect(value, "text"))

Sample Data using data pasta:

tibble::tribble(
  ~AccountId, ~ZipCode, ~Totalestimate, ~ZipHhIncome,                ~Street, ~State, ~xxxxxxxxxxxxPct, ~ZipPctAdvDegree, ~AgeFactorPct,             ~City,
      464641,    43130,             0,        46205,    "2577 Long Bow Ave",   "OH",             0.8,      0.058499952,           0.7,       "Lancaster",
      451304,    44718,             0,        69396,    "4822 Armandale Nw",   "OH",             0.8,      0.171958907,           0.7,          "Canton",
      443925,     8837,             0,        74764,    "348 Grandview Ave",   "NJ",               1,       0.16989858,           0.7,          "Edison",
      464725,     2032,           147,       100658,       "81 Rhoades Ave",   "MA",             1.3,      0.247449819,           0.7,    "East Walpole",
      431671,    89403,        335.86,        55248, "296 Monte Cristo Dr.",   "NV",             0.8,      0.066260613,           0.7,          "Dayton",
      474844,    99703,         61.05,        53031,      "4348 9th Street",   "AK",            1.05,      0.061620898,           0.8, "Fort Wainwright",
      440990,    55429,             0,        43835, "5649 Vera Cruz Ave N",   "MN",               1,      0.050472833,           0.7,         "Crystal"
  )

How do I get my output of the getdeepsearchresults api? I want my query to hit the api and return results for each row of parameters i.e. address(Street) and zipcode(citystatezip)

NewInPython
  • 247
  • 1
  • 5
  • 13

1 Answers1

0

One way to get address and citystatezip would be to use map2_df/map2_dfr and pass Street and ZipCode to GetDeepSearchResults and extract only the interested properties.

library(ZillowR)

purrr::map2_df(sample$Street, as.character(sample$ZipCode), ~{
        temp <- GetDeepSearchResults(address = .x,citystatezip = .y)
       tibble(Address = temp$request$address, Zip = temp$request$citystatezip)
})

# A tibble: 7 x 2
#  Address              Zip  
#  <chr>                <chr>
#1 2577 Long Bow Ave    43130
#2 4822 Armandale Nw    44718
#3 348 Grandview Ave    8837 
#4 81 Rhoades Ave       2032 
#5 296 Monte Cristo Dr. 89403
#6 4348 9th Street      99703
#7 5649 Vera Cruz Ave N 55429

Or using base R Map

do.call(rbind, Map(function(x, y) {
   temp <- GetDeepSearchResults(address = x,citystatezip = y)
   c(Address = temp$request$address, Zip = temp$request$citystatezip)
}, sample$Street, as.character(sample$ZipCode)))
Ronak Shah
  • 377,200
  • 20
  • 156
  • 213
  • Hi @ronak I tried both base R map and purr but got this error- Error in sample$Street : object of type 'closure' is not subsettable – NewInPython Jul 16 '19 at 01:33
  • @user10007925 because maybe your dataframe is called `sample3` ? Sorry I used `sample` as dataframe name. – Ronak Shah Jul 16 '19 at 01:37