2015-12-02 26 views
2

我有一個Web應用程序,我使用Shiny Server工具。在文件ui.R中,我有一個checkboxGroupInput。該checkboxGroupInput ID是 「薩利達」:R Shiny:將整數轉換爲無效輸出

checkboxGroupInput("salida","Salida:", 
         c(salida_datos$column_name), selected = "temp"), 

在文件server.R,我有以下代碼:

totalgraficas <- reactiveValues(numero=0) 
numerograficas <- reactive({ 
    for(i in 1:length(input$salida)) 
    { 
    if(input$salida[i] == "temp" || input$salida[i] == "temp_int") 
    { 
     totalgraficas$numero = totalgraficas$numero +1 
    }   
    } 
    return(totalgraficas$numero) 
}) 

output$graficaDatos = renderPlot({ 

    LAS = 2 
    MFROW = c(numerograficas,1) #Filas y columnas 
    MAR = c(4,4,1,1) #Margenes 

    par(las= LAS, mfrow= MFROW, mar= MAR) 

    ... 

我收到以下錯誤

(list) object cannot be coerced to type 'integer' 

我需要的輸出「numerograficas」是一個用於功能的整數mfrow

我該怎麼做?

謝謝。

回答

1

您需要isolate(totalgraficas$numero)才能得到totalgraficas$numero的值。我沒有你的數據,但下面是一個虛構的例子,獲得整數。

library(shiny) 

ui <- fluidPage(
    checkboxGroupInput("salida","Salida:", 
         c("a", "temp_int", "temp"), selected = "temp"), 
    verbatimTextOutput("printN") 
) 

server <- function(input, output) { 
    totalgraficas <- reactiveValues(numero=0) 
    numerograficas <- reactive({ 
     for(i in 1:length(input$salida)) { 
      if(input$salida[i] == "temp" || input$salida[i] == "temp_int") { 
       ######################################################## 
       # use isolate() to get the value of totalgraficas$numero 
       totalgraficas$numero <- isolate(totalgraficas$numero) +1 
      }   
     } 
     return(totalgraficas$numero) 
    }) 
    output$printN <- renderPrint({ 
     numerograficas() 
    }) 
} 

shinyApp(ui, server)