R Shiny:以整数转换无功输出

时间:2015-12-02 12:38:03

标签: r integer shiny

我有一个Web应用程序,我使用Shiny Server工具。在文件ui.R中,我有一个checkboxGroupInputcheckboxGroupInput ID为" salida":

    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'

我需要输出&#34; numerograficas&#34;是函数mfrow

中使用的整数

我该怎么做?

感谢。

1 个答案:

答案 0 :(得分: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)