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

使用数据意大利面的样本数据:

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

如何获得 getdeepsearchresults api 的输出?我希望我的查询命中 api 并返回每行参数的结果,即地址(街道)和邮政编码(citystatezip)

4

1 回答 1

0

一种获取addresscitystatezip将是使用map2_df/map2_dfr和传递StreetZipCodeGetDeepSearchResults提取感兴趣的属性的方法。

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

或使用基础 RMap

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)))
于 2019-07-16T01:23:36.747 回答