我正在寻找一种使用tigris在R中正则化代码的方法。有没有办法将其写入一个新的数据框架,并添加与该地址相关的2010年人口普查块?
机场<-dplyr::data_frame(street=";700 Catalina Dr";,city=";代托纳海滩";,state=";FL";)append_geoid(机场,'block'(
我以前从未使用过tigris。我知道tmaptools可以完成这项任务,但如果没有一些标记,您可以使用dataframe选项。
为了解决这种情况,我制作了我们的代码OpenStreetMap。您可以在此链接上查看构建您所需的所有信息。
我使用的代码如下:
x <- 1:370
address_tidy <- tibble(
accident_index = "accidents_tidy$accident_index[i]",
geo_loc = "accidents_tidy$geo_loc[i]",
xml.names = "(xml_name(xml_children(xml_children(open_map_xml))))",
xml.text = "(xml_text(xml_children(xml_children(open_map_xml))))"
)
address_tidy <- address_tidy %>%
filter(accident_index == "Greg")
for (i in x) {
open_map_url <- str_c(
"https://nominatim.openstreetmap.org/search?q=",
accident_index_loc_$geo_loc[i],
"&format=xml&polygon=0&addressdetails=1"
)
open_map_xml <- read_xml(open_map_url)
df <- tibble(
accident_index = accident_index_loc_$accident_index[i],
geo_loc = accident_index_loc_$geo_loc[i],
xml.names = (xml_name(xml_children(xml_children(open_map_xml)))),
xml.text = (xml_text(xml_children(xml_children(open_map_xml))))
)
address_tidy <- bind_rows(address_tidy, df)
}
write.csv(address_tidy, "address_tidy_part10.csv")