如何用imf.data包下载IMF DOT数据集的全部国家数据?
使用imf.data包下载所有国家数据的解决方案
你可以直接将DOT$dimensions$ref_area返回的全部国家/地区代码列表传入ref_area参数,就能一次性获取所有国家的对应数据。具体操作如下:
完整代码示例
library(imf.data) library(tidyverse) # 加载DOT数据集 DOT <- load_datasets("DOT") # 获取所有国家/地区的代码列表 all_countries <- DOT$dimensions$ref_area # 下载所有国家的数据 all_dot_data <- DOT$get_series(freq = "M", ref_area = all_countries, indicator = "TMG_CIF_USD", counterpart_area = c("B0","W00"), start_period = "2022-01-01", end_period = "2022-12-31")
注意事项
- 一次性下载所有国家的数据会产生较大的数据量,下载耗时可能较长,请确保网络稳定并预留足够等待时间。
- 如果遇到下载超时或服务器限制问题,可将国家列表分批次处理,比如用
split()函数将all_countries拆分为多个子列表,循环调用get_series后合并结果:
# 分批次下载示例 country_chunks <- split(all_countries, ceiling(seq_along(all_countries)/50)) all_data_list <- map(country_chunks, ~DOT$get_series(freq = "M", ref_area = .x, indicator = "TMG_CIF_USD", counterpart_area = c("B0","W00"), start_period = "2022-01-01", end_period = "2022-12-31")) # 合并所有批次的数据 final_data <- bind_rows(all_data_list)
内容的提问来源于stack exchange,提问作者silent_hunter
相关产品推荐
相关产品推荐

