我在闪亮的应用程序中始终遇到错误,无法进行线性回归吗?

时间:2019-03-27 17:29:52

标签: shiny linear-regression

我正在尝试创建一个闪亮的应用程序,但似乎无法在代码中找到错误。

我在这里不断收到此错误:

match.arg(position)中的错误:“ arg”必须为NULL或字符向量

我也不确定应该输入什么。


library(shiny)

# Define UI for application that draws a histogram
ui <- fluidPage(

    titlePanel("Linear Regression Shiny App"),
    sidebarLayout(
        sidebarPanel(
            h1("Linear Regression"),

            p("Select inputs for the Response
       Variable"),
            selectInput("ResVar",
                        "Response Variables:",
                        c("","","")
            ),

            p("Select inputs for the Predictor
       Variable"),
            selectInput("PreVar",
                       "Predictor Variables:",
                        c("","","")
            ),

            actionButton("goButton","Go!"),
            plotOutput("distPlot")),

        mainPanel = 
            verbatimTextOutput("ResVarPrint"),
        verbatimTextOutput("PreVarPrint")
    ))


# Define server logic required to draw a histogram
server <- function(ResVar,PreVar) {

    lm1 <- reactive({reformulate((input$ResVar),(input$PreVar))})

    output$ResPrint <- renderPrint({input$ResVar})
    output$PrePrint <- renderPrint({input$PreVar})
    output$RegSum <- renderPrint({summary(lm1())})


}


# Run the application 
shinyApp(ui = ui, server = server)

1 个答案:

答案 0 :(得分:0)

您在UI代码的结尾附近放了一些括号,并尝试使用mainPanel=而不是正确的mainPanel(。下面的UI代码解决了该错误,并使您的应用加载。

ui <- fluidPage(

  titlePanel("Linear Regression Shiny App"),
  sidebarLayout(
    sidebarPanel(
      h1("Linear Regression"),

      p("Select inputs for the Response
        Variable"),
      selectInput("ResVar",
                  "Response Variables:",
                  c("","","")
      ),

      p("Select inputs for the Predictor
        Variable"),
      selectInput("PreVar",
                  "Predictor Variables:",
                  c("","","")
      ),

      actionButton("goButton","Go!"),
      plotOutput("distPlot")
    ),
    mainPanel(
      verbatimTextOutput("ResVarPrint"),
      verbatimTextOutput("PreVarPrint")
      )
  )
)

但是,您可能需要考虑是否要在侧边栏中实际使用plotOutput还是在主面板中使用它,在这种情况下,您需要将其向下移动。