當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。