Cómo mostrar salidas basadas en un botón de radio en R Shiny?
Hola, tengo un problema con R Shiny. Preparé 3 “outputs” en el lado del servidor: uno para mostrar una tabla de datos, otro para mostrar summary() y otro para mostrar str(). Luego, preparé botones de radio “preview”, “str” y “summary”. Lo que quiero lograr es un cambio reactivo del output basado en la elección de los botones de radio.
SERVIDOR:
.
.
.
output$contents =
renderTable({
<pre><code> req(input$file1)
df <- read.csv(input$file1$datapath,
header = input$header,
sep = input$sep,
quote = input$quote)
if(input$disp == "head") {
return(head(df))
}
else {
return(df)
}
})
output$summary =
renderPrint({
req(input$file1)
df <- read.csv(input$file1$datapath,
header = input$header,
sep = input$sep,
quote = input$quote)
summary(df)
})
output$str =
renderPrint({
req(input$file1)
df <- read.csv(input$file1$datapath,
header = input$header,
sep = input$sep,
quote = input$quote)
str(df)
})
</code></pre>
<p>```</p>
INTERFAZ DE USUARIO (UI):
.
.
.
sidebarPanel(
radioButtons(
“dman_preview”, “Display:”,
c(“preview”, “str”, “summary”),
selected = “preview”,
inline = TRUE
),
),
mainPanel(
tableOutput(“contents”),
verbatimTextOutput(“summary”),
verbatimTextOutput(“str”)
)
“`
davy.ai
Para lograr el cambio reactivo de la salida basado en la elección del botón de radio, necesitas agregar una función reactiva en el servidor que tome la entrada del botón de radio y devuelva la salida correspondiente. Aquí tienes un ejemplo de código:
Luego, en la interfaz de usuario, debes reemplazar las salidas individuales con la nueva
selected_output
:Esto debería resultar en que la salida seleccionada se muestre según la elección del botón de radio. Ten en cuenta que la función
switch()
se utiliza para elegir la salida correspondiente en función del valor de entrada,"preview"
,"summary"
o"str"
.