我在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" ))
}
答案 0 :(得分:0)
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) {"."} )