当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R ts 时间序列对象


R语言 ts 位于 stats 包(package)。

说明

函数ts用于创建时间序列对象。

as.tsis.ts 将对象强制为时间序列并测试对象是否为时间序列。

用法

ts(data = NA, start = 1, end = numeric(), frequency = 1,
   deltat = 1, ts.eps = getOption("ts.eps"),
   class = if(nseries > 1) c("mts", "ts", "matrix", "array") else "ts",
   names = )
as.ts(x, ...)
is.ts(x)

is.mts(x)

参数

data

观察到的时间序列值的向量或矩阵。数据帧将通过 data.matrix 强制转换为数字矩阵。 (另见“详细信息”。)

start

第一次观察的时间。单个数字或两个数字组成的向量(其中第二个是整数),指定自然时间单位和时间单位中的样本数(从 1 开始)。请参阅第二种形式的使用示例。

end

最后一次观察的时间,以与 start 相同的方式指定。

frequency

每单位时间的观察数量。

deltat

连续观察之间的采样周期的分数;例如,1/12 表示每月数据。仅应提供frequencydeltat 之一。

ts.eps

时间序列比较容差。如果频率的绝对差小于 ts.eps ,则认为频率相等。

class

要为结果指定的类,如果 NULL"none" 则为无。对于单个系列,默认值为"ts",对于多个系列,默认值为c("mts", "ts", "matrix", "array")

names

多个系列中的系列名称的字符向量:默认为 data"Series 1""Series 2" 、... 的名称。

x

任意的R对象。

...

传递给方法的参数(默认方法未使用)。

细节

函数ts用于创建时间序列对象。这些是从类 "ts" 继承的向量或矩阵(并具有附加属性),表示在等间隔时间点采样的数据。在矩阵情况下,假设矩阵data 的每一列包含单个(单变量)时间序列。时间序列必须至少有一个观察值,尽管它们不必是数字,但对非数字序列的支持非常有限。

"ts" 有许多方法。特别是算术将尝试对齐时间轴,并且可以使用子集来提取系列的子集(例如 EuStockMarkets[, "DAX"] )。但是,对第一个(或唯一)维度进行子集化将返回矩阵或向量,矩阵子集化也是如此。子赋值可用于替换值,但不能用于扩展序列(请参阅window)。 t 有一种方法将序列转置为矩阵(如果是向量则为 one-column 矩阵),因此返回不从类 "ts" 继承的结果。

参数frequency表示时间序列的采样频率,默认值1表示每个单位时间间隔采样一次。例如,当每天对数据进行采样且自然时间段为一周时,可以将 frequency 的值用作 7;当每月对数据进行采样且自然时间段为一年时,可将值 12 用于 frequency412 的值在(例如)print 方法中假设分别表示季度和月度系列。 frequency 不必是整数:例如,frequency = 0.2 意味着每五个时间单位采样一次。

as.ts 是通用的。如果对象具有设置开始和结束时间以及频率的属性,则其默认方法将使用该对象的 tsp 属性。

is.ts() 测试对象是否是时间序列,即继承自 "ts" 并且长度为正。

is.mts(x) 测试对象 x 是否是多元时间序列,即满足 is.ts(x)is.matrix(x) 并继承自类 "mts"

例子

require(graphics)

ts(1:10, frequency = 4, start = c(1959, 2)) # 2nd Quarter of 1959
print( ts(1:10, frequency = 7, start = c(12, 2)), calendar = TRUE)
# print.ts(.)
## Using July 1954 as start date:
gnp <- ts(cumsum(1 + round(rnorm(100), 2)),
          start = c(1954, 7), frequency = 12)
plot(gnp) # using 'plot.ts' for time-series plot

## Multivariate
z <- ts(matrix(rnorm(300), 100, 3), start = c(1961, 1), frequency = 12)
class(z)
is.mts(z)
head(z) # as "matrix"
plot(z)
plot(z, plot.type = "single", lty = 1:3)

## A phase plot:
plot(nhtemp, lag(nhtemp, 1), cex = .8, col = "blue",
     main = "Lag plot of New Haven temperatures")

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

tspfrequencystartendtimewindowprint.ts ,时间序列对象的打印方法; plot.ts ,时间序列对象的绘图方法。

有关“时间序列”的其他定义(例如,time-ordered 观测值),请参阅 https://CRAN.R-project.org/view=TimeSeries 处的 CRAN 任务视图。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Time-Series Objects。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。