R-存储用于反向地理编码的循环输出(google api) y
考虑使用R-存储用于反向地理编码的循环输出(google api) y,r,R,考虑使用Map(包装到mapply)构建数据帧列表,因为您正在向量之间运行元素循环。然后,rbind在最后一起执行一次。您可以通过流程的通用函数运行循环: get_address <- function(lat, lon) { latlng <- list(latlng = paste(lat, lon), key = "XXXX") response <- GET(url, query = latlng) Sys.slee
Map
(包装到mapply
)构建数据帧列表,因为您正在向量之间运行元素循环。然后,rbind
在最后一起执行一次。您可以通过流程的通用函数运行循环:
get_address <- function(lat, lon) {
latlng <- list(latlng = paste(lat, lon),
key = "XXXX")
response <- GET(url, query = latlng)
Sys.sleep(0.1)
if(response$status_code == 200){
apiResponse <- fromJSON(content(response, "text"))
}
else{
print("Error with Request")
}
return(apiResponse$results$formatted_address)
}
df_list <- Map(get_address, myContent$lat, myContent$lon)
df_list <- Filter(NROW, df_list) # REMOVE EMPTY DATA FRAMES
df_list <- Filter(length, df_list) # REMOVE EMPTY NULL ITEMS
final_df <- do.call(rbind, df_list)
get_address Change data to y在最后一行library(googleway)
中,它有一个功能也可能有帮助。切勿在for
中调用rbind
,因为这会导致过度复制。