ÎncepețiÎncepe gratuit

Aplicația 2: Cele mai populare prenume de bebeluș

Construirea unei aplicații Shiny este un proces modular. Începi cu UI, apoi lucrezi la codul serverului, creând rezultate pe baza intrărilor utilizatorului. Cu cât exersezi mai mult această abordare în mod deliberat, cu atât îți va fi mai ușor să construiești aplicații bune.

Vei construi acum o aplicație Shiny care îi permite utilizatorului să aleagă sexul și anul și va afișa primele 10 cele mai populare prenume din acel an sub forma unui grafic cu coloane reprezentând proporția nașterilor (prop) pe prenume (name). Aplicația finală ar trebui să arate vizual similar cu captura de ecran de mai jos.

O aplicație în care selectorul de prenume și sliderul pentru an apar în sidebar-ul din stânga, iar graficul apare în dreapta, în panoul principal

Am furnizat o funcție get_top_names() pentru a extrage primele 10 prenume pentru un anumit year și sex. De exemplu, poți obține primele 10 prenume masculine pentru anul 2000 folosind get_top_names(2000, "M").

Am încărcat și pachetul ggplot2. Poți crea un grafic cu coloane dintr-un data frame d cu coloanele x și y astfel:

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

Acest exercițiu face parte din cursul

Crearea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă un titlu în partea de sus a aplicației și adaugă un layout cu sidebar.
  • Adaugă o intrare în sidebar pentru a permite utilizatorului să selecteze sexul (M sau F).
  • Adaugă un slider în sidebar pentru a permite utilizatorului să selecteze un an (de la 1880 la 2017).
  • Adaugă un rezultat de tip grafic în panoul principal.
  • Adaugă un rezultat în server pentru a genera un grafic cu coloane pe baza valorilor year și sex. Reține că poți adăuga mai multe linii de cod în interiorul acoladelor unei funcții de randare: render***({___}).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

ui <- fluidPage(
  
)

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

shinyApp(ui = ui, server = server)
Editează și rulează codul