Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: argument "x" is missing, with no default

I am getting an error: argument "x" is missing, with no default Upon debugging, I found this out to be in the line : MyData1<- MyData()[,c(col(),col()+1)] I have tried to pass the argument as a single vector like MyData1<- MyData()[,p=c(col(),col()+1)]

Error: Error in [.data.frame: unused argument (p = c(col(), col() + 1))

This is just a snippet from my actual code:

TotalTS<-ts(MyData()[,Col()],start=Start(),frequency = Fre())
    InsampleTs<-window(TotalTS,start = c(Start(),1),end=c(2017,5))
    TotalTS1<-ts(MyData()[,Col()+1],start=Start(),frequency = Fre())
    InsampleTs1<-window(TotalTS1,start = c(Start(),1),end=c(2017,5))

    MyData1<- MyData()[,c(col(),col()+1)]
    MyData1$util1<-MyData1[,1]*100/MyData1[,2]
    popj<-nrow(MyData())-length(InsampleTs)


    if(input$F6==1){
      if(input$AM==1){

        forecast32<-hw(InsampleTs,h=Col1(),level = input$CI2)
        forecast32_1<-hw(InsampleTs,h=Col1(),level = input$CI2)

        c<-as.matrix(forecast32$x)
        d<-as.matrix(forecast32_1$x)

        c1<-as.matrix(forecast32$fitted)
        d1<-as.matrix(forecast32_1$fitted)
        util2<-(c1*100)/d1
        util1<-(c*100)/d
        c11 <- as.matrix(forecast32$mean[1:popj])
        d11<- as.matrix(forecast32_1$mean[1:popj])
        c12 <- as.matrix(forecast32$lower[1:popj])
        d12<- as.matrix(forecast32_1$lower[1:popj])
        c13 <- as.matrix(forecast32$upper[1:popj])
        d13<- as.matrix(forecast32_1$upper[1:popj])

        c111 <- c11*100/d11
      c112<- c12*100/d12
        c113 <- c13*100/d13
        MyData1$util2 <- util2
        MyData1 <- MyData1[,c(col(),col()+1)]

        e<-as.matrix(forecast32$mean[-c(1:popj)])
        f<-as.matrix(forecast32_1$mean[-c(1:popj)])
        e2<-as.matrix(forecast32$upper[-c(1:popj)])
        f2<-as.matrix(forecast32_1$upper[-c(1:popj)])
        e1<-as.matrix(forecast32$lower[-c(1:popj)])
        f1<-as.matrix(forecast32_1$lower[-c(1:popj)])

        e111 <- e*100/f
        e113<- e2*100/f2
        e112 <- e1*100/f1

       r<- cbind(e111,e112,e113)
       colnames(r) <- c("Predicted","lower Limit","Upper Limit")

        MyData1 <- ts(MyData1,start=c(Start(),1), end=c(2017,5), frequency=Fre())
        #r<-ts(r,start=c(2017,6),end=c((Hstar()+2),Fre()))
        r<-ts(r,start=c(2017,6),end=c(2019,6), frequency = 12)
        autoplot(ts( cbind(r,MyData1),start = c(Start(),1),frequency=Fre() ),facets = F)
        }**strong text**
like image 441
Jojo Acharya Avatar asked Aug 14 '26 21:08

Jojo Acharya


1 Answers

Looking at your code and tracing the sequence of steps to MyData1, I identified these lines:

  1 c1<-as.matrix(forecast32$fitted)
  2 d1<-as.matrix(forecast32_1$fitted)
  3 util2<-(c1*100)/d1
  4 MyData1$util2 <- util2
  5 MyData1 <- MyData1[,c(col(),col()+1)]

Assuming MyData is an object which already exists as a matrix or data.frame, the issue is because you are not giving the Extract operator an index specifying the rows or column you wish to extract. Instead you've passed the col function without specifying a matrix-like object for it to use.

 5 MyData1 <- MyData1[,c(col(),col()+1)]

Should Be

5 MyData1 <- MyData1[,c(col(x),col(x)+1)]

However, I must ask, what are you trying to accomplish with this subset operation? There maybe a more elegant and compact solution that is cleaner than using the col function to specify the columns you'd like to extract from MyData1.

like image 157
Justin Avatar answered Aug 16 '26 10:08

Justin



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!