首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的图圈

R中的图圈
EN

Stack Overflow用户
提问于 2014-10-06 11:55:50
回答 1查看 186关注 0票数 0

我有一个N_C_T数组

我希望为每一行绘制一个时间序列,acf和pacf (即数组中的每个N)。

我可以在一个例子中做到这一点

代码语言:javascript
复制
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软件

我最大的努力是

代码语言:javascript
复制
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 
        }
} 

数据看上去像是

代码语言:javascript
复制
[,,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 

等。

我希望有一个以1,1,(1:T),2,1,(1:T)为输出的3x1地块

此外,重要的是要注意列3、4、5中的数据被排序。

EN

回答 1

Stack Overflow用户

发布于 2014-10-06 13:42:42

试一试

代码语言:javascript
复制
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=...)格式提供它为向量/矩阵,谢谢:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26215726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档