R:在一个循环中绘制多个时间序列。xy.coords(x,y,xlabel,ylabel,log)中的错误:'x'和'y'的长度不同

我正在尝试从具有134列的数据库中绘制许多时间序列,每个列一个ts,然后将其保存在.jpg文件中。我正在使用循环。我注意到这个问题可能是plot()函数。

带有dput()

的某些数据
 structure(list(X9003 = c(3L,8L,6L,2L,3L,3L),X9004 = c(NA,NA,0L),X9007 = c(5L,11L,4L,7L,9L,5L),X9009 = c(1L,0L,1L,4L),X9010 = c(NA,15L),X9012 = c(0L,0L
 ),X9014 = c(NA_integer_,NA_integer_,NA_integer_),X9016 = c(NA,12L,27L,12L),X9019 = c(3L,38L,19L,25L,47L,5L,X9020 = c(0L,3L)),row.names = c(NA,10L),class = "data.frame")

还有

dput(dat_nombres[1:10,1:2])
structure(list(ESTACIOnes = c(9003L,9004L,9007L,9009L,9010L,9012L,9014L,9016L,9019L,9020L),CLAVE = c(9003L,9020L)),class = "data.frame")

我的代码:

  data<- read.csv("GranizoAnualCompleto_1961-2019_columnas.csv",header = 
   TRUE)
    dat_nombres<-read.csv("Nombres_Estaciones_CLICOM.csv",header=TRUE )
    Estaciones<-dat_nombres$ESTACIOnes  # List
    Estacionestmp<-data[,-1]

    # Loop

    for (i in seq_along (Estacionestmp)) { 
      serie<-ts(Estacionestmp[,i],start = 1961,frequency = 1)
      mypath<-file.path("C:","00 FENIX","03 Data","Data_Est_Select_1961- 
       2019","SeriesTiempo_GranizoAnual",paste("Ts_Granizo4_",Estaciones[i],".jpg",sep = "")) 
      jpeg(filename = mypath)  

      plot(serie,col="darkblue",main="Días con granizo 1961-2019 \n Estación",cex.main=2,sub=paste("Estación",Estaciones[i]),cex.sub= 1.5,col.main="darkred",xlab= "Tiempo",ylab= "Días con granizo",cex.lab=0.8,col.axis= "gray34",col.lab= "gray25",type= "l"
         )
       dev.off() }

错误消息是:

      Error in xy.coords(x,y,xlabel,ylabel,log) : 
      'x' and 'y' lengths differ

但是当我只在循环中编码plot(serie)(在plot函数中没有任何细节)时,结果没有问题,并且文件在我定义的特定路径中创建。最近,我使用了此代码,但在具有20列的数据帧上使用了它。

为什么绘图函数参数中的详细信息会导致错误消息?如何修复用于创建多个时间序列图的循环?有什么更好的解决方案吗?

非常感谢您!

编辑:我发现问题出在我尝试更改名称的主要名称并在每个情节中粘贴子内容时,Estaciones[i]出现了问题;我证明之前写过#来发表评论,现在可以了!所以,我将其转换为列表

  Estaciones_list<-as.list(Estaciones) 

并尝试对每个情节使用主列表中的这个新列表,但它也不起作用。

有什么建议吗? 谢谢!

dymd005 回答:R:在一个循环中绘制多个时间序列。xy.coords(x,y,xlabel,ylabel,log)中的错误:'x'和'y'的长度不同

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3131115.html

大家都在问