当我尝试在循环中运行函数route()时,我在R中收到此错误:
错误:(列表)对象无法强制键入'整数'
该功能可在包" ggmap"中找到。它需要两个字符串作为参数,并在谷歌搜索它们之间的方向。它返回一个数据框,其中包含有关路线的信息,包括距离,分钟,坐标等。
我有一个带有许多字符串的向量代表邮政编码,我在这些邮政编码的循环中使用这个route()函数。它在前40次搜索中运行正常,但随后崩溃导致上述错误。
df <- as.data.frame(read.csv("df.csv", sep=","))
for (i in df$post_code){
route(i,'NE29 8NH', structure = 'route', mode = 'driving')
}
我用邮政编码检查了矢量,没有缺失值或其他异常。请帮帮我。
答案 0 :(得分:1)
我认为该问题与谷歌地图费率限制有关,只需输入请求网址并刷新浏览器几次,您将收到以下消息:
{
"error_message" : "You have exceeded your rate-limit for this API.",
"routes" : [],
"status" : "OVER_QUERY_LIMIT"
}
ggmaps尝试解析json响应,但响应没有任何信息。我建议使用Sys.sleep(x),x&lt; -seconds强制延迟循环。