如何在R中使用countrycode包的codelist_panel

时间:2019-01-24 17:58:27

标签: r panel-data country-codes

我正在尝试使用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,但是我只是不知道如何,并且没有有用的示例。每个提示都非常感谢! 谢谢!

1 个答案:

答案 0 :(得分:1)

您需要合并数据和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