ÎncepețiÎncepe gratuit

Filtrează după speranța de viață

Adevăratul avantaj al Shiny apare atunci când inputurile sunt combinate cu outputurile. Tabelul creat în exercițiul anterior este static – nu poate fi modificat – dar pentru explorare ar fi mai util ca utilizatorul să poată alege ce subset de date să vizualizeze.

Acest lucru se poate realiza adăugând un input care îi permite utilizatorului să selecteze o valoare pentru filtrarea datelor. Astfel, tabelul creat anterior poate deveni dinamic.

Una dintre variabilele din setul de date gapminder este lifeExp (speranța de viață). Sarcina ta este să adaugi un slider în aplicația Shiny, care să îi permită utilizatorului să aleagă o speranță de viață minimă și una maximă, iar tabelul să afișeze doar datele care corespund acestor valori.

Acest exercițiu face parte din cursul

Studii de caz: Construirea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă un slider în UI cu ID-ul "life", o valoare minimă de 0, o valoare maximă de 120 și o selecție implicită între 30 și 50.
  • În interiorul funcției de randare, folosește valoarea inputului pentru a filtra datele din gapminder, astfel încât să fie incluse doar înregistrările cu o valoare lifeExp cuprinsă între valorile minimă și maximă (ambele inclusive).

Exercițiu interactiv practic

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

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)
Editează și rulează codul