重命名r中ts对象的月份

时间:2019-06-05 14:15:01

标签: r time-series

你好,我有以下时间序列对象的数据

set.seed(2019)
serie <- ts(rpois(72,25), start = c(2012,1), frequency = 12)
serie
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012  28  22  36  21  26  27  24  26  32  26  29  16
2013  24  28  21  29  31  20  18  25  38  34  23  22
2014  37  25  28  31  21  25  28  26  29  25  23  23
2015  24  23  23  21  16  21  33  23  17  21  30  31
2016  20  23  23  27  23  28  27  23  31  36  25  20
2017  22  24  19  24  26  23  23  25  31  26  23  20

我需要在r中更改ts对象的名称。默认情况下,月份是英语,但我想用西班牙语。任何想法如何做到这一点。接下来,将带有要放入ts对象中的名称的向量留下。

nom <- c("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic")

1 个答案:

答案 0 :(得分:2)

print.ts使用.preformat.ts,其中的硬编码month.abb是英文缩写月份名称的向量,但是我们可以使用tracemonth.abb设置为{{ 1}}放在该功能的顶部:

nom

给予:

trace(.preformat.ts, quote(month.abb <- nom), print = FALSE)
serie

要关闭它:

     Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic
2012  28  22  36  21  26  27  24  26  32  26  29  16
2013  24  28  21  29  31  20  18  25  38  34  23  22
2014  37  25  28  31  21  25  28  26  29  25  23  23
2015  24  23  23  21  16  21  33  23  17  21  30  31
2016  20  23  23  27  23  28  27  23  31  36  25  20
2017  22  24  19  24  26  23  23  25  31  26  23  20