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