我有一个Web应用程序,我使用Shiny Server工具。在文件ui.R
中,我有一个checkboxGroupInput
。 checkboxGroupInput
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
我该怎么做?
感谢。
答案 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)