Filtrar por esperanza de vida
El verdadero beneficio de usar Shiny aparece cuando combinas entradas con salidas. La tabla creada en el ejercicio anterior es estática—no se puede cambiar—, pero para explorar sería mejor que el usuario pudiera decidir qué subconjunto de datos ver.
Esto puede lograrse añadiendo una entrada que permita al usuario seleccionar un valor para filtrar los datos. Así, la tabla que creamos en el ejercicio anterior se puede volver dinámica.
Una de las variables del conjunto de datos gapminder es lifeExp (esperanza de vida). Tu tarea es añadir a la app de Shiny un control deslizante que permita elegir una esperanza de vida mínima y máxima, y que la tabla solo muestre los datos que coincidan con esos valores.
Este ejercicio forma parte del curso
Casos prácticos: crea aplicaciones web con Shiny en R
Instrucciones del ejercicio
- Añade un control deslizante a la UI con ID "life", valor mínimo 0, máximo 120 y selección predeterminada de 30-50.
- Dentro de la función de renderizado, usa el valor de entrada para filtrar los datos de
gapmindere incluir solo los registros conlifeExpentre los valores mínimo y máximo (ambos inclusive).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
ui <- fluidPage(
h1("Gapminder"),
# Add a slider for life expectancy filter
___(inputId = ___, label = "Life expectancy",
min = ___, max = ___,
value = c(30, 50)),
tableOutput("table")
)
server <- function(input, output) {
output$table <- renderTable({
data <- gapminder
data <- subset(
data,
# Use the life expectancy input to filter the data
lifeExp >= ___life[1] & lifeExp <= ___life[2]
)
data
})
}
shinyApp(ui, server)