R XTS对象的逐月增长百分比
如何绘制以下数据的月环比增长:R XTS对象的逐月增长百分比,r,time-series,xts,R,Time Series,Xts,如何绘制以下数据的月环比增长: A 2008-07-01 0 2008-08-01 87 2008-09-01 257 2008-10-01 294 2008-11-01 325 2008-12-01 299 (以dput格式,在约书亚追捕我并在睡梦中谋杀我之前): 定义增长:第一个区别?百分比?在任何一种情况下,只需计算并绘制: R> index(KB) <- as.Date(index(KB)) ## what you have are d
A
2008-07-01 0
2008-08-01 87
2008-09-01 257
2008-10-01 294
2008-11-01 325
2008-12-01 299
(以dput格式,在约书亚追捕我并在睡梦中谋杀我之前):
定义增长:第一个区别?百分比?在任何一种情况下,只需计算并绘制:
R> index(KB) <- as.Date(index(KB)) ## what you have are dates, not datetimes
R> barplot(diff(KB), ylab="Change in value", main="Growth")
并将此绘图的type=
参数更改为显示条形图等pp。通常情况下,绘图百分比会发生变化,但鉴于您的第一个数据点,这在此处是不允许的(如Gavin所述),因此此图与此图有所不同。使用对象dat中的dput()
数据,假设你指的是上个月的百分比变化,那么:
R> (diff(dat) / lag(dat)) * 100
A
2008-07-01 05:00:00 NA
2008-08-01 05:00:00 Inf
2008-09-01 05:00:00 195.40230
2008-10-01 05:00:00 14.39689
2008-11-01 04:00:00 10.54422
2008-12-01 05:00:00 -8.00000
(忘记了情节)
不知道如何最好地处理第二个月-%的增长是无限的…Pssh,我不会做那么苛刻的事情。。。不过我可以给你倒一桶冰水看起来quantmod中的Delt
可能是我想要的,所以Delt
对其默认值做了与Diff/Lag
R> plot(diff(KB), type='b', ylab="Change in value", main="Growth")
R> (diff(dat) / lag(dat)) * 100
A
2008-07-01 05:00:00 NA
2008-08-01 05:00:00 Inf
2008-09-01 05:00:00 195.40230
2008-10-01 05:00:00 14.39689
2008-11-01 04:00:00 10.54422
2008-12-01 05:00:00 -8.00000
plot((diff(dat) / lag(dat)) * 100, main = "",
ylab = "% growth (for some definition of % growth)")