我有一個用戶在這個執行緒中幫助我的代碼。它完全符合我的要求,只是結果未存盤在資料框中。
## Setting up API Call
base_string1 <- "https.api.companyname/jurisdiction="
base_string2 <- "&date="
end_string <- "api_token=XYZ"
## Specifying objects to loop over
dates <- seq(as.Date("1990-01-01"), as.Date("2022-01-01"), by = "year")
dates <- paste(head(dates, -1), tail(dates-1, - 1), sep = ":")
countries<- paste0("eu_", c("fra", "ger"))
## Looping over
map_dfr(dates, function(dates){
map_dfr(states, function(countries){
api_string <- paste0(base_string1, countries, base_string2, dates, end_string)
print(api_string)
json <- jsonlite::fromJSON(api_string)
data.frame("countries" = countries,
"dates" = dates,
"total_number" = json[["results"]]$total_number)
})
})
這給了我
countries dates total_number
1 eu_ger 1990-01-01:1990-12-31 2404
2 eu_fra 1990-01-01:1990-12-31 2056
3 eu_ger 1991-01-01:1991-12-31 3490
4 eu_fra 1991-01-01:1991-12-31 6070
5 eu_ger 1992-01-01:1992-12-31 7808
6 eu_fra 1992-01-01:1992-12-31 1904
這是我想要的資訊,但我想將它存盤在我可以訪問的資料框中。我還想將國家稱為“德國”和法國”,而不是日期范圍,我想將其稱為 1992 年(還有一個我按月去的版本,在這種情況下我' d希望值是年月)。
我嘗試在 API 呼叫之后添加以下內容,但沒有成功。
json_df<- as_tibble(json)
json_df <- data.frame("countries" = countries,
"dates" = dates,
"total_number" = json[["results"]]$total_number)
如何將結果存盤在資料框中,理想情況下還可以更改國家/地區名稱/日期?
uj5u.com熱心網友回復:
正如上面評論中建議的那樣嘗試:
my_results <- map_dfr(dates, function(dates){
map_dfr(states, function(countries){
api_string <- paste0(base_string1, countries, base_string2, dates, end_string)
print(api_string)
json <- jsonlite::fromJSON(api_string)
data.frame("countries" = countries,
"dates" = dates,
"total_number" = json[["results"]]$total_number)
})
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/446325.html
