在R中的API调用中创建宏变量时遇到问题。我试图遍历邮政编码向量并迭代地对该向量进行API调用。非常不熟悉迭代需要宏观的R列表。
这是我的代码:
# creating a dataframe of 10 sample California zip codes to iterate through from database
zip_iterations<-sqlQuery(ch,"Select distinct zip from zip_codes where state='CA' limit 10",believeNRows="F")
# Calling the api to retrieve the JSON
json_file <- "http://api.openweathermap.org/data/2.5/weather?zip=**'MACRO VECTOR TO ITERATE'**
我的目标是使用宏来浏览数据框中的10个邮政编码列表。
答案 0 :(得分:0)
R本身并没有使用宏,但是有很多其他方法可以做你想做的事情。此版本将返回一个字符向量json_file
,每个条目包含该邮政编码的HTTP响应正文:
library("httr")
json_file <- character(0)
urls <- paste0("http://api.openweathermap.org/data/2.5/weather?zip=", zip_iterations)
for (i in seq_along(urls)) {
json_file[i] <- content(GET(urls[i]), as = "text")
}
然后,您可以使用jsonlite包中的fromJSON()
将结果向量解析为一组R列表,例如:
library("jsonlite")
lapply(json_file, fromJSON)
结果将是一个列表清单。