You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rgho包批量提取WHO多指标多国家数据报错求助

解决rgho包提取多指标、多国家WHO数据的问题

核心报错原因

之前的操作存在两个不符合规则的误区:

  • 多指标不能传入逗号分隔的字符串,code参数要求接收字符向量
  • 多国家过滤不能用逗号分隔,WHO API规定多值过滤需用**分号(;)**分隔,或用包内置工具自动处理格式

正确实现方法

1. 加载rgho包

library(rgho)

2. 提取多个指标

直接给code参数传入字符向量即可,无需手动拼接逗号:

# 示例:提取预期寿命(WHOSIS_000001)和婴儿死亡率(WHOSIS_000002)
target_indicators <- c("WHOSIS_000001", "WHOSIS_000002")
multi_indicator_data <- get_gho_data(code = target_indicators)

3. 过滤多个国家

有两种可靠实现方式:

方式一:用rgho_filter构建过滤条件(推荐)

该函数会自动适配WHO API的格式规则,无需手动处理分隔符:

# 示例:过滤多米尼加(DOM)和法国(FRA)
country_filter <- rgho_filter(COUNTRY = c("DOM", "FRA"))

# 结合多指标、多国家,同时过滤2015-2020年数据
multi_data <- get_gho_data(
  code = target_indicators,
  filter = country_filter,
  year = 2015:2020
)

方式二:手动编写过滤字符串

若不想用rgho_filter,需严格遵循WHO API语法,用分号分隔国家代码:

multi_data_manual <- get_gho_data(
  code = target_indicators,
  filter = "COUNTRY:DOM;FRA",
  year = 2015:2020
)

4. 复杂组合过滤

如果需要同时过滤性别、年份等多维度,用rgho_filter直接组合条件即可:

complex_filter <- rgho_filter(
  COUNTRY = c("DOM", "FRA"),
  SEX = c("M", "F"),
  YEAR = 2018:2020
)

complex_data <- get_gho_data(code = target_indicators, filter = complex_filter)

辅助:确认代码正确性

若不确定指标或国家的正确代码,用search_gho查询验证:

# 搜索指标关键词
search_gho("life expectancy")

# 搜索国家代码
search_gho("Dominican", filter = "COUNTRY")

内容的提问来源于stack exchange,提问作者almr27

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 01:25:02