EmpezarEmpieza gratis

Creación de funciones auxiliares

Hay muchos elementos que puedes añadir a un shinydashboard. Para permitir la interacción entre las entradas del usuario y los resultados del panel, debes definir estas interacciones dentro de las funciones render que se colocan en el servidor.

El código puede volverse farragoso muy rápido si hay muchas interacciones y muchos resultados. Una forma de evitar este problema es crear tus propias funciones auxiliares fuera del entorno de shinydashboard.

A continuación, vas a construir dos funciones auxiliares:

  1. num_listings(): devuelve el número de anuncios en función de los datos filtrados dentro de un rango de price.
  2. make_plots(): crea diagramas de caja o gráficos de violín según la selección del usuario, y en función de los datos filtrados dentro de un rango de price.

listings está cargado, y se han importado sf, tidyverse y leaflet.

Este ejercicio forma parte del curso

Creación de paneles con shinydashboard

Ver curso

Instrucciones del ejercicio

  • Filtra listings para que quede restringido entre los límites izquierdo y derecho del argumento range, que es un marcador de posición para una entrada de shinyApp.
  • Configura las condiciones if-else correctas para que se tracen diagramas de caja cuando choice coincida con "Box plots", y gráficos de violín si es "Violin plots".

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

num_listings <- function(range){
  # Filter listings appropriately
  filter(listings, price >= ___, price <= ___) %>% nrow()
}
make_plots <- function(range, choice){
  filtered_listings <- filter(listings, price >= range[1], price <= range[2])
  # Set the correct if-else conditions
  if (choice == ___){
     filtered_listings %>%
      ggplot(aes(y = price, x = room_type)) + geom_boxplot() + theme_classic()
  }
  else if (___){
    filtered_listings %>%
      ggplot(aes(y = price, x = room_type)) + geom_violin() + theme_classic()
}}
Editar y ejecutar código