0

我正在尝试使用从此处此处获取的数据使用最大重叠离散小波变换(MODWT)制作非参数回归模型。我在这里使用的包是、和。这是我的服务器代码:shinywaveletsreadxl

    server <- function(input, output) {
      dataset<-reactive({ 
        inFile <- input$filewav 
        dat <- read_excel(inFile$datapath)
        df <- data.frame(dat[,2], dat[,3])
        x <- seq(1,nrow(df),length = nrow(df))
        y <- df[,2]
        return(dat)
      })

      output$plot_mra <- renderPlot({
        filt <- switch(input$filterwav, 
           "Haar (d2)" = filter()$haar,
           "d4" = filter()$d4,
           "d6" = filter()$d6,
           "d8" = filter()$d8,
           "s4" = filter()$s4,
           "s6" = filter()$s6,
           "s8" = filter()$s8,
           "c6" = filter()$c6,
           "c12" = filter()$c12)

        mra.y <- switch(input$reswav, 
           "1" = y.mra()@S$S1,
           "2" = y.mra()@S$S2,
           "3" = y.mra()@S$S3,
           "4" = y.mra()@S$S4,
           "5" = y.mra()@S$S5,
           "6" = y.mra()@S$S6,
           "7" = y.mra()@S$S7,
           "8" = y.mra()@S$S8,
           "9" = y.mra()@S$S9,
           "10" = y.mra()@S$S10)

        set.seed(2)
        y.mra <- mra(y,filt,input$reswav,"periodic",TRUE,"modwt")
        if(input$reswav==0)
                {plot(x,y, ylab = "", type = "p", col = "red")
                mtext("Fungsi Asli", side = 3, line = 0.1)}
        else
            {plot(x,y, ylab = "", type = "p", col = "red")
                par(new = TRUE)
                plot(x,mra.y, ylab = "y", xlab = "x", type = "l", col = "blue")
                mtext("Hasil Analisis Multiresolusi dengan MODWT", side = 3, line = 0.1)}
    })
    }

这是我的用户界面代码:

    ui <- fluidPage(
      titlePanel("Pemodelan Regresi dengan Metode Wavelet Linier"),

      sidebarLayout(
        sidebarPanel(
          fileInput("filewav", "Masukkan data",
                    multiple = FALSE,
                    accept = c(".xls",".xlsx")),
        selectInput("filterwav", "Pilih filter wavelet", 
                      choices = list('Daublets' = c('Haar (d2)','d4','d6','d8'), 
                        'Symmlets' = c('s4','s6','s8'), 
                        'Coiflets' = c('c6','c12'))),
        numericInput("reswav", "Masukkan nilai resolusi", 1, min = 0, max = 10, step = NA,
      width = NULL),
          helpText("Oleh: Sania Anisa Farah")),

        mainPanel(
        plotOutput("plot_mra"))
    ))

我试图执行这些代码,shinyApp(ui = ui, server = server)这就是我得到的:

    Warning: Error in as.ts: argument "x" is missing, with no default
    Stack trace (innermost first):
        104: as.ts
        103: filter
        102: renderPlot [#12]
         92: <reactive:plotObj>
         81: plotObj
         80: origRenderFunc
         79: output$plot_mra
          4: <Anonymous>
          3: do.call
          2: print.shiny.appobj
          1: <Promise>

是的,R 控制台中的输出和程序本身中的输出。谁能告诉我我哪里出错了?我应该如何解决它?

PS:请原谅我的语言,我在上面的程序中使用印度尼西亚语。

4

0 回答 0