问题描述
我想从时间序列索引中提取年份(基础时间序列是每月频率).我想这样做的原因是创建一个年轴,例如
I´d like to extract years from a time series index (the underlying time series is of monthly frequency). The reason I want to do it is creating a yearly axis, e.g.
plot(myts)
axis(1, at = year(time(myts)), labels = FALSE)
# note I know 'year()' does not work :)
因为如果我只是绘制它,R 会任意(?)创建一个时间轴.通常它是一个两年甚至 5 年的轴,这有时是不合适的.
because if I just plot it, R arbitrarily(?) creates a time axis. Often it's a two or even 5 year axis which makes is inappropriate sometimes.
tsp(myts)
[1] 1966.000 1974.917 12.000
推荐答案
我找到了自己的解决方案.也许这对其他人也有帮助.另外我觉得这还不算太聪明……所以我很期待你的建议.
I found an own solution. Maybe this helps someone else, too. Besides I think it's not overly smart... so I am looking forward to your suggestions.
axis(1, at = start(time(myts))[1]:end(time(myts))[1], labels = TRUE)
找到了一个更优雅的解决方案:
found a more elegant solution:
require(zoo)
x <- as.yearqtr("1991 Q1")
format.Date(x,"%Y")
根据@matty T pain 它也适用于 ts
(见评论).
according to @matty T pain it also works for ts
(see comments).
这篇关于当基础时间序列为每月频率时,如何从时间序列指数中获取年份?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!