R使用danstat包获取Statistikbanken.dk指定起始年到最新年数据的方法
R自动拉取Statistikbanken.dk最新年份数据的实现方案
你可以通过danstat包自带的元数据查询功能,先获取目标表的时间维度所有可用取值,自动识别最新年份后构造查询区间,无需手动更新结束年份参数,完整实现代码如下:
# 安装加载包 install.packages("danstat") library(danstat) # 第一步:查询NAH1表的元数据,获取时间维度Tid的所有可用取值 table_meta <- get_metadata(table_id = "NAH1") tid_all_values <- table_meta[table_meta$id == "Tid", ]$values[[1]] # 第二步:筛选纯年度时间值、提取年份数值、获取最新可用年份 # 正则过滤仅保留4位数字的纯年度数据,排除季度、月度类时间值 year_values <- as.integer(tid_all_values$id[grepl("^\\d{4}$", tid_all_values$id)]) max_available_year <- max(year_values) # 构造2000年到最新年份的查询区间 query_year_range <- as.character(2000:max_available_year) # 第三步:拉取目标区间数据 user_input = list( list(code = "TRANSAKT", values = NA), list(code = "PRISENHED", values = NA), list(code = "Tid", values = query_year_range) ) data <- get_data(table_id = "NAH1", variables = user_input)
注意事项
- 后续Statistikbanken.dk更新年度数据后,直接重新运行上述代码即可自动拉取到最新年份的数据,无需修改代码中的年份参数
- 将年份序列转为字符型传入
values参数是为了匹配接口的参数格式要求,避免数值型传参出现匹配失败的问题
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

