R:获取 TS 对象中的月份名称

标签 r date

假设您有以下时间序列。每月一次

require(forecast)

a<-ts(seq(1:50),frequency = 12)

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1   1   2   3   4   5   6   7   8   9  10  11  12
2  13  14  15  16  17  18  19  20  21  22  23  24
3  25  26  27  28  29  30  31  32  33  34  35  36
4  37  38  39  40  41  42  43  44  45  46  47  48
5  49  50 

我想获取每个数据点的月份。这将是一个长度为 50 的向量,即 (Jan, Feb, ..., Mar)

> names(a)
 NULL

我也尝试过 colnames。但没有运气。有什么建议吗?

最好!

最佳答案

1) 月份名称试试这个:

> month.abb[cycle(a)]
 [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
[13] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
[25] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
[37] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
[49] "Jan" "Feb"

2)yearmon如果真正想要的是年份和月份,那么这会给出动物园“yearmon”类结果:

library(zoo)
a <- ts(1:50, start = 2000, freq = 12)
as.yearmon(time(a))

3) Date 或者如果我们想要 "Date" 类以每月的第一天作为日期:

as.Date(as.yearmon(time(a)))

或本月最后一天:

as.Date(as.yearmon(time(a)), frac = 1)

更新添加了 (2) 和 (3)。

关于R:获取 TS 对象中的月份名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157003/

相关文章:

r - plyr 中 'ave' 的模拟?

android - 1个月限制申请免费使用

javascript - 从当前日期获取 GMT 字符串

iphone - 为什么时间在这里卡住?我每次都能获得自 1970 年以来新调用的秒数吗?

用于获取前一个星期一的 JavaScript

r - 如何按月份的第一天选择单独的行

r - 循环输入R : how to save the outputs?

linux - 在 R 中运行系统命令,然后将输出写入文件

r - 将持续时间格式化为 HH :mm:ss in R

r - 是否为奇异矩阵 : conflict between determinant and rank