重塑世界银行数据

时间:2016-06-02 19:46:08

标签: r

尝试对WB数据进行分析(采用.xlsx格式),但数据尚未准备好进行回归。目前,每行包含不同国家/地区的数据,每列都是特定年份的数据。

理想情况下,我想创建一个包含三列的新工作表/数据表:Country,Year和MeanValue。 MeanValue的每一行都等于原始工作表中每年列的平均值。

有人能指出我正确的方向吗?感谢。

1 个答案:

答案 0 :(得分:0)

您可能想看一下wbstats包(我认为还有其他一些便于获取世界银行数据)。这样您就可以直接访问R中的数据。例如,从2000年到2016年以当前美元的市场价格获取GPD上所有国家的数据:

dt <- wbstats::wb(indicator = "NY.GDP.MKTP.CD", startdate = 2000, enddate = 2016)

然后您只需要选择要保留的列,例如使用dplyr这样:

library(dplyr)

 dt <- tbl_df(dt)
 dt %>%  arrange(country, date) %>% select(country, date, value)
Source: local data frame [3,441 x 3]

       country  date       value
         (chr) (chr)       (dbl)
1  Afghanistan  2001  2461666315
2  Afghanistan  2002  4128818042
3  Afghanistan  2003  4583648922
4  Afghanistan  2004  5285461999
5  Afghanistan  2005  6275076016
6  Afghanistan  2006  7057598407
7  Afghanistan  2007  9843842455
8  Afghanistan  2008 10190529882
9  Afghanistan  2009 12486943506
10 Afghanistan  2010 15936800636
..         ...   ...         ...

当你提到平均值时,我不确定你想要什么,因为如果你为每个国家和每年保留一排,那么就没有什么可以取平均值。