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

2021-03-11 20:06:31 IT技术网 互联网
浏览

1、年

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

2、月

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

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

3、季度

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

4、天

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

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

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

ts() 函数:

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

调用格式:

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:

 > 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 

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

您可能感兴趣的文章:

  • 利用R语言绘制时间序列图的操作
  • R语言数据预处理操作——离散化(分箱)
  • R语言验证及协方差的计算公式
  • R语言学习笔记之lm函数详解
  • 解决R语言 数据不平衡的问题
  • 用R语言绘制函数曲线图
  • R语言 实现list类型数据转换