首页 > 解决方案 > 从世界发展指数数据中删除国家组

问题描述

我是 R 的新手。我正在使用世界发展指数数据集,并试图删除所有区域行,例如撒哈拉以南非洲(IDA 和 IBRD 国家)或中东和北非(IDA 和 IBRD 国家)。我想创建一个仅包含国家/地区的数据框。谢谢!

library(WDI)

WDI.data <-WDI(country="all", indicator=c("IQ.CPA.GNDR.XQ",
        "SP.DYN.CBRT.IN", "AG.LND.AGRI.K2", "AG.LND.AGRI.ZS"), start=1995, end=2005)

FilteredWDI <- WDI.data %>% 
  filter(WDI.data$iso2c == ???)

标签: r

解决方案


您可以使用该countrycode包创建一个区域变量,然后根据该变量进行过滤:

    library(countrycode)
    library(tidyverse)
    WDI.data %>% 
      as_tibble() %>%
      mutate(region = countrycode(iso2c, "iso2c", "region")) %>% 
      filter(!region %in% c("Sub-Saharan Africa", "Middle East & North Africa"), 
             !is.na(region))

!is.na(region)还将丢弃区域(而不是国家)观察结果,您可能也想摆脱这些观察结果。


推荐阅读