使用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) {"."} )
我正在使用 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) {"."} )