我有一个N C T
的数组我希望为每一行绘制一个时间序列,acf和pacf(即对于数组中的每个N)
我可以在一个例子中做到这一点
par(mfrow=c(3,1))
x <- x_whole[N,C,(1:T)]
plot(x, t='l')
abline(h=mean(x), col='red')
acf(x, lag.max=T-10)
pacf(x, lag.max=T-10)
现在我希望创建一个为每个N
执行此操作的循环其中一些N是0,如果是这种情况,我希望忽略/跳过这些
我正在使用R软件
我最大的努力是
for(i in 1:N){
if(i != 0){
par(mfrow=c(3,1))
plot(x_whole[i,1,(1:T)], t='l')
abline(h=mean(x_whole[i,1,(1:T)]), col='red')
acf(x_whole[i,1,(1:T)], lag.max=190)
pacf(x_whole[i,1,(1:T)], lag.max=190)
}
else{
return 0
}
}
数据看起来像
[,,1]
3.45 4 5 6 7
0 2 3 6 6
2.34 4 5 6 5
[,,2]
4.56 4 5 6 7
4.43 2 3 6 6
0 4 5 6 5
等。
我希望有一个3x1图,其中[1,1,(1:T)],[2,1,(1:T)] [3,1,(1:T)]的图是一个输出
同样重要的是要注意列3,4,5中的数据已排序
答案 0 :(得分:0)
试
for(i in 1:length(N)){
if(i==0)
{return 0} else
{par(mfrow=c(3,1))
plot(x_whole[i,1,(1:T)], t='l')
abline(h=mean(x_whole[i,1,(1:T)]), col='red')
acf(x_whole[i,1,(1:T)], lag.max=190)
pacf(x_whole[i,1,(1:T)], lag.max=190)}}
如果没有您的数据样本,我将无法再提供帮助。您能否以data<-c(...)
或data<-matrix(...,ncol=...,nrow=...)
格式将其作为矢量/矩阵提供,谢谢:)