[英]How do I plot a cross correlation matrix for timeseries?
我有一個時間序列表示我的數據如下(沒有行和列)注釋:
L1 L2 L3 L4
t=1 0 1 1 0
t=2 0 1 1 1
t=3 1 0 1 1
t=4 0 1 1 0
我把它讀成R作為:
timeseries = read.table("./test", header=F)
我正在為L1使用繪制時間序列
ts.plot(timeseries$V1)
並將互相關函數繪制為:
ccf(timeseries$V1, timeseries$V2)
現在,有人可以告訴我如何繪制交叉相關矩陣,顯示L1-L4的此功能輸出? 基本上,像這樣(在我的例子中,4x4矩陣的圖表):
似乎還有另一種瑣碎的方式!
timeseries = read.table("./test", header=F)
acf(timeseries)
給我一個相關圖矩陣。 當然,如果需要協方差,還可以將其他選項傳遞給acf
。
這樣做的一個簡單方法是在繪圖設備上創建一個繪圖矩陣,並將每個ccf
繪圖逐個放置:
M <- matrix(sample(0:1,40,replace = TRUE),nrow = 10)
par(mfrow= c(4,4))
for (i in 1:4){
for (j in 1:4){
ccf(M[,i],M[,j])
}
}
但是,如果你稍等一下,那些知道時間序列包裹更密切的人可能會使用一個更好的功能。
試試這個M
就像在joran的帖子中一樣:
pnl <- function(x, y = x) { par(new = TRUE); ccf(x, y) }
pairs(as.data.frame(M), upper.panel = pnl, diag.panel = pnl, cex.labels = 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.