Я пытаюсь сделать вызов API в строке моего data.frame, передавая значение строки в качестве параметра. Возвращаемое значение должно быть добавлено в мой кадрвызов REST API для каждой строки data.frame в R
Однако я не могу заставить работать мой код. Любая помощь приветствуется.
Содержание APPLYapiCallTest.csv
:
id title returnValue
01 "wine" ""
02 "beer" ""
03 "coffee" ""
По сути называющие API с call("wine)
и заменить пустое поле с результатом, например, напитки.
Вот что я получил до сих пор.
#call api per row using apply
library(jsonlite)
library(httr)
callAPI <- function(x) {
findWhat <- as.character(x)
#create ULR
url1 <- "http://api.nal.usda.gov/ndb/search/?format=json&q="
url2 <- "&sort=n&max=1&offset=0&api_key=KYG9lsu0nz31SG5yHGdAsM28IuCEGxWWlvdYqelI&location=Chicago%2BIL"
fURL <- paste(url1, findWhat, url2, sep="")
apiRet <- data.frame(fromJSON(txt=fURL, flatten = TRUE))
result <- apiRet[1,c(9)]
return(result)
}
tData <- data.frame(read.delim("~/Documents/R-SCRIPTS/DATA/APPLYapiCallTest"))
apply(tData[,c('title')], 1, function(x) callAPI(x))
очень круто. Спасибо! – DirkLX