如何在R中使用countrycode包的codelist_panel

How to use the codelist_panel of the countrycode package in R

我正在尝试使用 R 中国家代码包中的面板代码列表,但不知道如何包含年份。

我有一个包含国名和年份的数据集,我想添加相应的奶牛代码作为新变量或替换国名。我只是不知道该怎么做。

我的数据看起来有点像这样:

country <- c("Australia", "Australia", "Canada", "Belgium")
year <- c(1995, 2000, 1880, 1885)
a <- c( 5.55, 4.5, 6.75, 8.3)

data<- data.frame(country, year, a)

我认为这是标准方法:

data$country2 <- countrycode(data$country, "country.name", "cown", warn = TRUE)

我得到一个带有相应代码的变量 "country2",但不是那个时间段的正确代码。根据包手册,我应该可以使用 codelist_panel,但我只是不知道如何使用,也没有有用的示例。每一个提示都非常感谢! 谢谢!

您需要合并您的数据和 codelist_panel

输入数据 - 我更改了国家列的列名,因此我们可以在下面的 by 参数中将其与年份列一起指定。

dat <- data.frame(country.name.en = country, year, a)

结果

library(countrycode)
merge(dat,
      codelist_panel[, c("country.name.en", "year", "cown")],
      by = c('year', 'country.name.en'))
#  year country.name.en    a cown
#1 1880          Canada 6.75   NA
#2 1885         Belgium 8.30  211
#3 1995       Australia 5.55  900
#4 2000       Australia 4.50  900