使用for循环和georoute计算行进距离时跳过错误

Skip the error when calculating travel distances using for loop and georoute

我正在使用 R 中的 taRifx.geo 包来计算地址之间的行驶距离。我正在做的是将起点和终点放在数据框的两列中。在我的理解中,georoute 一次只能计算一对距离,所以我写了一个 for 循环来计算数据框中的所有对。但是当出现错误时,循环停止。

我想要的不是停止循环,而是在遇到错误并从下一对继续时将值NA值放入距离向量中。我知道我应该使用一些东西作为 tryCatch 但我不知道如何在这里编写代码。有人可以帮忙吗?非常感谢!

library(taRifx.geo)

distance=data.frame(matrix(0,200,1))

for(i in 1:200){

  distance[i,1]=as.matrix(georoute( c(as.character(address$capitol[i]),
                          as.character(address$capitol_destination[i])),
                        verbose=TRUE, returntype="distance",
                        service="bing" ))

}
tryCatch(as.matrix(georoute( c(as.character(address$capitol[i]),
                           as.character(address$capitol_destination[i])),
                           verbose=TRUE, returntype="distance",
                           service="bing" )),  error=function(a) {"."} )