R Brillo: ¿cómo incrustar sliderInputs / selectInputs y radioButtons en un dataframe? (Error: no se puede forzar la clase “” shiny.tag “” a un data.frame)

Necesito incrustar diferentes tipos de entradas en una matriz. Funciona bien para textInput () y numericInput (), pero no puedo encontrar una manera para selectInput (), sliderInput () y radioButton ().

Puedo especificar la entrada de texto y la entrada numérica en HTML, usando algo como

paste0("") 

Sin embargo, no encontré la manera correcta de especificar los otros tipos de entradas en HTML. Para los controles deslizantes, por ejemplo, he intentado

 paste0("") 

pero el resultado no es un deslizador de tipo shiny.

Así que traté de usar los comandos de Shiny:

 lapply(1:2, function(i) sliderInput(inputId = paste0("sl", i), label = "", min = 0, max =100, value = 50)). 

El error que recibo es: no puedo coaccionar la clase “” shiny.tag “” a un data.frame. Entonces deduzco que debo especificarlos en HTML -> ¿Alguien sabe cómo hacer esto?

Aquí está el código (y puedes ver la imagen aquí abajo):

 ui = pageWithSidebar( headerPanel("TEST"), sidebarPanel( helpText('Some types of input can be included in a matrix and some do not') ), mainPanel( uiOutput('matrix_text'), uiOutput('matrix_num'), uiOutput('matrix_slider'), uiOutput('matrix_select'), uiOutput('matrix_radioButtons') ) ) server = function(input,output){ output$matrix_text <- renderTable({ matrix_input <- paste0("") matrix <- data.frame(matrix_input) row.names(matrix) <- c("r 1","r 2") colnames(matrix) <- c('C 1') matrix },sanitize.text.function = function(x) x) output$matrix_num <- renderTable({ matrix_input <- paste0("") matrix <- data.frame(matrix_input) row.names(matrix) <- c("r 1","r 2") colnames(matrix) <- c('C 1') matrix },sanitize.text.function = function(x) x) output$matrix_slider <- renderTable({ matrix_input <- lapply(1:2, function(i) sliderInput(inputId = paste0("sl", i), label = "", min = 0, max =100, value = 50)) matrix <- data.frame(matrix_input) },sanitize.text.function = function(x) x) output$matrix_select <- renderTable({ matrix_input <- lapply(1:2, function(i) selectInput(inputId = paste0("select", i), label = "", choices = c("Cylinders" = "cyl","Transmission" = "am"))) matrix <- data.frame(matrix_input) },sanitize.text.function = function(x) x) output$matrix_radioButtons <- renderTable({ matrix_input <- lapply(1:2, function(i) radioButtons(inputId = paste0("radio", i), label = "",choices= c("Cylinders" = "cyl","Transmission" = "am"), selected = NULL)) matrix <- data.frame(matrix_input) },sanitize.text.function = function(x) x) } runApp(list(ui = ui, server = server)) 

Cualquier consejo / sugerencia sería altamente apreciado y gracias de antemano. introduzca la descripción de la imagen aquí

He encontrado la solución. Para radioButtons for ex, el código sería:

 paste0("
")

Se puede obtener haciendo clic con el botón derecho en una página web con algunos botones de radio y seleccionando ‘Inspeccionar elemento’.

Espero que esto ayude a otros …