ComenzarEmpieza gratis

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

Ver curso

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 gapminder e incluir solo los registros con lifeExp entre 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)
Editar y ejecutar código