我正在尝试使用R中的lapply函数为许多参数运行API请求。
然而,当我运行此功能时,我收到错误“文件中的错误(con,”r“):无法打开连接”
Google建议使用setInternet2(TRUE)来解决此问题,但是,我收到错误:错误:'setInternet2'已不存在。 见帮助(“Defunct”
localisedDestinationNameForGivenLang <- function (LocationId) {
gaiaURL <- paste0("https://URL/",LocationId, "?geoVersion=rwg&lcid=", "1036",
"&cid=geo&apk=explorer")
print(LocationId)
localisation <- fromJSON(gaiaURL)
}
lapply(uniqueLocationId, localisedDestinationNameForGivenLang)
有人可以建议修复吗?
答案 0 :(得分:0)
以下是一个示例,说明如何确定哪些网站会出现错误,同时仍然可以从那些网站获得响应:
RewriteCond %{THE_REQUEST} /test\.php [NC]
RewriteRule ^test\.php$ /test [L,R]
urls = c("http://citibikenyc.com/stations/test", "http://citibikenyc.com/stations/json")
grab_data <- function(url) {
out <- tryCatch(
{fromJSON(url)},
error=function(x) {
message(paste(url, x))
error_msg = paste(url, "threw an error")
return(error_msg)
})
return(out)
}
result <- lapply(urls, grab_data)
将是一个列表,其中包含适用于工作的网址的API响应,以及不适合的网站的错误消息。