如何处理来自地理编码的错误(ggmap R)
how to handle error from geocode (ggmap R)
我正在使用 ggmap 查找位置。某些位置会产生错误。例如,
library(ggmap)
loc = 'Blue Grass Airport'
geocode(loc, output = c("more"))
结果
Error in data.frame(long_name = "Blue Grass Airport", short_name = "Blue Grass Airport", :
arguments imply differing number of rows: 1, 0
如果我无法获得某些位置的结果也没关系,但我正在尝试处理列表中的 100 个位置。那么有没有办法让 NA 而不是错误并让事情继续下去?例如,
library(ggmap)
loc = c('Blue Grass Airport', 'Boston MA', 'NYC')
geocode(loc, output = c("more"))
应该生成
NA
Result for Boston
Result for New York City
您可以利用 R tryCatch()
函数优雅地处理这些错误:
loc = 'Blue Grass Airport'
x <- tryCatch(geocode(loc, output = c("more")),
warning = function(w) {
print("warning");
# handle warning here
},
error = function(e) {
print("error");
# handle error here
})
如果您打算使用 for
循环或使用 apply
函数明确地遍历位置,那么 tryCatch()
也应该派上用场。
我正在使用 ggmap 查找位置。某些位置会产生错误。例如,
library(ggmap)
loc = 'Blue Grass Airport'
geocode(loc, output = c("more"))
结果
Error in data.frame(long_name = "Blue Grass Airport", short_name = "Blue Grass Airport", :
arguments imply differing number of rows: 1, 0
如果我无法获得某些位置的结果也没关系,但我正在尝试处理列表中的 100 个位置。那么有没有办法让 NA 而不是错误并让事情继续下去?例如,
library(ggmap)
loc = c('Blue Grass Airport', 'Boston MA', 'NYC')
geocode(loc, output = c("more"))
应该生成
NA
Result for Boston
Result for New York City
您可以利用 R tryCatch()
函数优雅地处理这些错误:
loc = 'Blue Grass Airport'
x <- tryCatch(geocode(loc, output = c("more")),
warning = function(w) {
print("warning");
# handle warning here
},
error = function(e) {
print("error");
# handle error here
})
如果您打算使用 for
循环或使用 apply
函数明确地遍历位置,那么 tryCatch()
也应该派上用场。