2016-11-09 65 views
0

当下面的闪亮应用程序运行时,我最初得到错误 - invalid type/length (symbol/0) in vector allocation。然而,只要我点击“提交”应用程序功能按预期。修复初始shinyr应用程序加载时的selectInput错误

有没有办法避免这个启动错误,并让它从一开始就正确工作?

plot_and_summary <- function(dat, col){ 
    summary <- dat %>% summarize_(mean = interp(~mean(x), x = as.name(col)), 
           sd = interp(~sd(x), x = as.name(col))) 
    plot <- ggplot(dat, aes_string(x = col)) + geom_histogram() 
    return(list(summary = summary, plot = plot)) 
} 


library(shiny) 

# Define UI for application that draws a histogram 
ui <- fluidPage(
    titlePanel(""), 
    sidebarLayout(
    sidebarPanel(
     uiOutput("column_select"), 
     submitButton("Submit") 
    ), 
    mainPanel(
     tableOutput("summary"), 
     plotOutput("plot") 
    ) 
) 

) 

# Define server logic required to draw a histogram 
server <- function(input, output){ 
    dat <- reactive({iris}) 


    output$column_select <- renderUI({selectInput("col", label = "select column", choices = as.list(names(dat())))}) 



    pas <- reactive({plot_and_summary(dat(), input$col)}) 
    output$plot <- renderPlot({pas()$plot}) 
    output$summary <- renderTable({pas()$summary}) 


} 


shinyApp(ui = ui, server = server) 

回答

相关问题