我想从时间序列索引中提取年份(基础时间序列是每月频率)。我想这样做的原因是创建一个年轴,例如
plot(myts)
axis(1, at = year(time(myts)), labels = FALSE)
# note I know 'year()' does not work :)
因为如果我只绘制它,R任意(?)创建一个时间轴。通常它是一个两年甚至五年的轴,这有时是不合适的。
tsp(myts)
[1] 1966.000 1974.917 12.000
答案 0 :(得分:2)
我找到了一个自己的解决方案。也许这也有助于其他人。此外,我认为它不是太聪明......所以我期待着你的建议。
axis(1, at = start(time(myts))[1]:end(time(myts))[1], labels = TRUE)
编辑:找到了更优雅的解决方案:
require(zoo)
x <- as.yearqtr("1991 Q1")
format.Date(x,"%Y")
根据@matty T痛,它也适用于ts
(见评论)。
答案 1 :(得分:0)
我不熟悉您的数据,但如果是时间序列类(ts),那么您可以使用窗口功能:
window(myts,start="*beginyear*",end="*endyear*")
如果你不能这样做,也许你可以在这里使用一些建议:
http://r.789695.n4.nabble.com/Year-and-Month-extraction-from-Date-object-td904011.html
马特