Я пытаюсь создать функцию, которая будет запрашивать упомянутый API (baseurl) на основе ввода: test_doi. Код работает нормально, если URL-адрес вернул 200, но как только URL-адрес вернул 404, я получил следующее сообщение об ошибке.
Ошибка в is.url (url): длина (url) == 1 не TRUE
Мой код:
library(jsonlite)
library(httr)
call_dim <- function(x) {
baseurl <- "https://metrics-api.dimensions.ai/doi/"
url <- paste0(baseurl, x)
resp <- GET(url)
if(status_code(resp) == 404){
stop("NA", call. = FALSE)
} else {
pages_t <- fromJSON(paste0(baseurl,x))
lapply(pages_t, function(z) { z[ lengths(z) == 0 ] <- NA; z; })
}
}
test_doi <- c("10.3390/w10111643" ,"10.1371/journal.pone.0007108")
view <- call_dim(test_doi)
Спасибо!