我的数据的时间序列表示如下(没有行和列)注释:
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的图表矩阵):
答案 0 :(得分:6)
似乎还有另一种琐碎的方式!
timeseries = read.table("./test", header=F)
acf(timeseries)
给我一个相关图矩阵。当然,如果需要协方差,还可以将其他选项传递给acf
。
答案 1 :(得分:2)
这样做的一个简单方法是在绘图设备上创建一个绘图矩阵,并逐个放置每个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])
}
}
但是,如果你稍等一下,那些知道时间序列包装更密切的人可能会使用一个更好的功能。
答案 2 :(得分:2)
在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)