通过RInno包运行R Shiny

时间:2017-08-15 17:44:13

标签: r shiny

我有这个Shiny应用程序,我想使用RInno包运行。

现在我当前的问题是,在创建应用程序然后运行compile_iss之后,我进入了应用程序的设置。最后,当应用程序启动时,它给出了以下错误:

ERROR: Can't call `runApp()` from within `runApp()`. If your application code contains `runApp()`, please remove it.

我的应用程序内部任何地方都不包含runApp()

我在最后包含了这段代码:

 session$onSessionEnded(function() {
    stopApp()
    q("no")
  })

我用以下内容结束了我的闪亮应用:

shinyApp(ui = ui, server = server)

有谁知道如何解决这个错误?

添加了代码:

ui <- fluidPage( 
  titlePanel(""),
                      h5(""),
                      sidebarLayout(
                        sidebarPanel(
                          selectInput("type", "Select Type of Record:",
                                      choices=c('A', 'B', 'C'),
                                      selected="A"),
                          DT::dataTableOutput("responses", width = 300), tags$hr(),
                          textInput("Comment", "Comments:", ""),
                          actionButton("submit", "Submit")),
                        mainPanel(    
                          plotlyOutput("plot")
                        )
                      )
             )


server <- function(input, output, session) {
  mydata <- reactive({
    invalidateLater(30 * 60000,session)
    odbcChannel<- odbcConnect("a", uid, pwd) 
    message <- sqlQuery(odbcChannel, "select a, b,c 
                        from table
                        ")
  #I got rid of all the other stuff, as I figured it was unimportant. Let me know if you need to see more

  })

session$onSessionEnded(function() {
    stopApp()
    q("no")
  })

}

1 个答案:

答案 0 :(得分:1)

RInno旨在在应用程序的任何代码运行之前在应用程序的启动序列中调用runApp()shinyApp(ui = ui, server = server)正试图第二次启动该应用。

良好的compile_iss前检查是运行runApp("path to ui.R/server.R"),因为这正是RInno尝试启动应用的方式

如果您从应用中删除了shinyApp(ui = ui, server = server),它应该会修复错误,但如果您仍然遇到问题,请与我们联系,我们很乐意为您解决问题!