通过网址

时间:2016-04-07 18:25:12

标签: r

在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个邮政编码列表。

1 个答案:

答案 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)

结果将是一个列表清单。