R语言时间序列中时间年、月、季、日的处理操作

时间:2021-08-14 06:38:44

1、年

?
1
pt<-ts(p, freq = 1, start = 2011)

2、月

?
1
pt<-ts(p,frequency=12,start=c(2011,1))

frequency=12表示以月份为单位,start 表示时间开始点,start=c(2011,1) 表示从2011年1月开始

3、季度

?
1
pt <- ts(p, frequency = 4, start = c(2011, 1))

4、天

?
1
pt<-ts(p,frequency=7,start=c(2011,1))

ts(p,frequency=365,start=(2011,1)) 也可以,但是这个是没有按星期对齐

补充:R语言:ts() 时间序列的建立

ts() 函数:

通过一向量或者矩阵创建一个一元的或多元的时间序列(time series),为ts型对象。

调用格式:

?
1
ts(data = NA, start = 1, end = numeric(0), frequency = 1, deltat = 1, ts.eps = getOption("ts.eps"), class, names)

说明:

data一个向量或者矩阵

start第一个观测值的时间,为一个数字或者是一个由两个整数构成的向量

end最后一个观测值的时间,指定方法和start相同

frequency单位时间内观测值的频数(频率)

deltat两个观测值间的时间间隔。frequency和deltat必须并且只能给定其中一个

ts.eps序列之间的误差限,如果序列之间的频率差异小于ts.eps,则认为这些序列的频率相等

class对象的类型。一元序列的缺省值是“ts”,多元序列的缺省值是c(“mts”,“ts”)

names一个字符型向量,给出多元序列中每个一元序列的名称,缺省data中每列数据的名称或者Series 1,Series 2, 。。。

Example:

?
1
2
3
4
5
6
7
8
9
10
11
12
> ts(1:26, start=1986) #最简单的形式
 Time Series:
 Start = 1986
 End = 2011
 Frequency = 1
 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 
> ts(1:26, frequency = 12, start=c(1986,10)) #frequency = 12时,为月份
   Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
 1986                 1  2  3
 1987 4  5  6  7  8  9 10 11 12 13 14 15
 1988 16 17 18 19 20 21 22 23 24 25 26

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/faith_mo_blog/article/details/81236661