错误:( list)对象无法强制键入'integer'

时间:2014-08-01 15:22:31

标签: r ggmap

当我尝试在循环中运行函数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')
}

我用邮政编码检查了矢量,没有缺失值或其他异常。请帮帮我。

1 个答案:

答案 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强制延迟循环。