ComenzarEmpieza gratis

App 2: Nombres de bebés populares

Crear una app Shiny es un proceso modular. Empiezas con la UI y luego trabajas en el código del servidor, generando resultados en función de las entradas del usuario. Cuanto más practiques esta forma de trabajar de manera deliberada, más fácil te resultará construir buenas apps.

Ahora vas a crear una app Shiny que permita a la persona usuaria elegir sexo y año, y que muestre los 10 nombres más populares de ese año en un gráfico de columnas con la proporción de nacimientos (prop) por nombre (name). Tu app final debería parecerse visualmente a la captura de pantalla de abajo.

An app where the name selector and year slider appear in the left sidebar, while the graph appears on the right in the main panel

Te proporcionamos una función get_top_names() para extraer los 10 nombres principales para un year y sex dados. Por ejemplo, puedes obtener los 10 nombres masculinos principales del año 2000 con get_top_names(2000, "M").

También hemos cargado el paquete ggplot2. Puedes crear un gráfico de columnas a partir de un data frame d con columnas x e y usando:

ggplot(d, aes(x = x, y = y)) +
  geom_col()

Este ejercicio forma parte del curso

Creación de aplicaciones web con Shiny en R

Ver curso

Instrucciones del ejercicio

  • Añade un título en la parte superior de tu app y un diseño con barra lateral.
  • Añade una entrada en la barra lateral para que el usuario seleccione el sexo (M o F).
  • Añade un control deslizante en la barra lateral para que el usuario seleccione un año (1880 a 2017).
  • Añade una salida de gráfico al panel principal.
  • Añade una salida en el servidor para renderizar un gráfico de columnas en función de year y sex. Ten en cuenta que puedes añadir varias líneas de código dentro de las llaves de una función de renderizado: render***({___}).

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

ui <- fluidPage(
  
)

server <- function(input, output, session) {
  
}

shinyApp(ui = ui, server = server)
Editar y ejecutar código