如何四分之一的GDP系列On

时间:2017-07-15 14:00:36

标签: r data.table

我现在正在开始与R合作,而且我在四分之一的GDP数据上遇到了麻烦。

我使用的命令是:

library("data.table")
pib<- read.csv("PIB.csv", header = TRUE, sep=";", dec=",")
setDT(pib)
pib
attach(pib)
aggregate(pib, by= PIB.mensal, frequency=4, FUN='sum')

我的数据如下:

    datareferencia| GDP.month

 1:     01/01/2010| 288.980,20

 2:     01/02/2010| 285.738,70

 3:     01/03/2010| 311.677,40

 4:     01/04/2010| 307.106,60

 5:     01/05/2010| 316.005,10

 6:     01/06/2010| 321.032,90

 7:     01/07/2010| 332.472,50

 8:     01/08/2010| 334.225,30

 9:     01/09/2010| 331.237,00

10:     01/10/2010| 344.965,70

11:     01/11/2010| 356.675,00

12:     01/12/2010| 355.730,60

13:     01/01/2011| 333.330,90

14:     01/02/2011| 335.118,40

15:     01/03/2011| 348.084,20

16:     01/04/2011| 349.255,90

17:     01/05/2011| 366.411,50

18:     01/06/2011| 371.046,10

19:     01/07/2011| 373.334,50

20:     01/08/2011| 377.005,90

21:     01/09/2011| 361.993,50

22:     01/10/2011| 378.843,40

23:     01/11/2011| 389.948,20

24:     01/12/2011| 392.009,40

有人能帮助我吗?我需要在2010年和2011年这两个季节![/ p>

1 个答案:

答案 0 :(得分:0)

您可以使用by的{​​{1}}命令执行此操作。一年的变量和“quatley”就是你所需要的。

阅读您的数据:

data.table

如果尚未完成日期,请调整日期:

pib <- data.table(datareferencia = c("01/01/2010", "01/02/2010", "01/03/2010",
                                     "01/04/2010", "01/05/2010", "01/06/2010",
                                     "01/07/2010", "01/08/2010", "01/09/2010",
                                     "01/10/2010", "01/11/2010", "01/12/2010",
                                     "01/01/2011", "01/02/2011", "01/03/2011",
                                     "01/04/2011", "01/05/2011", "01/06/2011",
                                     "01/07/2011", "01/08/2011", "01/09/2011",
                                     "01/10/2011", "01/11/2011", "01/12/2011") ,
                  GDP.month = c( 288980.20, 285738.70, 311677.40,
                                 307106.60, 316005.10, 321032.90,
                                 332472.50, 334225.30, 331237.00,
                                 344965.70, 356675.00, 355730.60,
                                 333330.90, 335118.40, 348084.20,
                                 349255.90, 366411.50, 371046.10,
                                 373334.50, 377005.90, 361993.50,
                                 378843.40, 389948.20, 392009.40))

使用pib[, datareferencia := as.IDate(datareferencia, format = "%d/%m/%Y")] 中的year功能,您可以获得......这一年。 对于“quatley”,我使用模数函数data.table和月份以及一点调整,因此结果是1到3而不是0到2。

%/%

最后,您可以按pib[, quatley := ((month(datareferencia)-1) %/% 4) + 1 ] pib[, year := year(datareferencia)] sum计算year

quatley

结果:

pib[, sum.quatley:= sum(GDP.month), by = c("quatley", "year")]