我有一个数据列,该数据列显示1987年5月至2019年6月的月度价格。并且想获得价格的季度变化作为单独的数据,仅能获得q1(1月至3月)q2(4月至6月)q3( 7月-9月)和q4(10月-12月)。我如何在R中做到这一点?谢谢
monthly <- ts(prices,start=c(1987,5),frequency=12)
quarters <- monthly/stats::lag(monthly,-3)-1
答案 0 :(得分:0)
1)使用内置的const AppContexts = {
NUMBER: 'userConfigData',
}
conv.contexts.set(AppContexts.NUMBER, 5,AppContexts)
const value = conv.contexts.get(AppContexts.NUMBER)
类数据集ts
将其汇总到季度级别,得出AirPassengers
,从而a
结束于四分之一的值,然后计算收益。
a
给予:
a <- aggregate(AirPassengers, 4, function(x) tail(x, 1))
a / lag(a, -1) - 1
2):另一种方法是将其转换为Zoo,并使用其提供的 Qtr1 Qtr2 Qtr3 Qtr4
1949 0.022727273 0.007407407 -0.132352941
1950 0.194915254 0.056737589 0.060402685 -0.113924051
1951 0.271428571 0.000000000 0.033707865 -0.097826087
1952 0.162650602 0.129533679 -0.041284404 -0.071770335
1953 0.216494845 0.029661017 -0.024691358 -0.151898734
1954 0.169154229 0.123404255 -0.018939394 -0.115830116
1955 0.165938865 0.179775281 -0.009523810 -0.108974359
1956 0.140287770 0.179810726 -0.050802139 -0.138028169
1957 0.163398693 0.185393258 -0.042654028 -0.168316832
1958 0.077380952 0.201657459 -0.071264368 -0.165841584
1959 0.204747774 0.162561576 -0.019067797 -0.125269978
1960 0.034567901 0.276849642 -0.050467290 -0.149606299
的{{1}}参数。
arith=FALSE
给予:
diff