Začněte nyníZačněte zdarma

Přidej interaktivní tabulkový výstup

Existuje řada balíčků htmlwidgets, například DT, leaflet nebo plotly, které poskytují vysoce interaktivní výstupy a lze je snadno integrovat do Shiny aplikací – vždy podle téměř stejného vzoru. Například statickou tabulku v Shiny aplikaci převedeš na interaktivní pomocí balíčku DT:

  1. Vytvoř interaktivní tabulku pomocí DT::datatable().
  2. Vyrenderuj ji pomocí DT::renderDT().
  3. Zobraz ji pomocí DT::DTOutput().

V tomto cvičení upravíš dříve vytvořenou aplikaci tak, že statickou tabulku nahradíš interaktivní.

Toto cvičení je součástí kurzu

Tvorba webových aplikací se Shiny v R

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř interaktivní tabulkový výstup pomocí DT s 10 nejoblíbenějšími jmény podle pohlaví a roku. Datový rámec k zobrazení vygeneruješ funkcí top_10_names() a předáš ho do DT::datatable().
  • Zobraz tabulku v UI.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

ui <- fluidPage(
  titlePanel("What's in a Name?"),
  # Add select input named "sex" to choose between "M" and "F"
  selectInput('sex', 'Select Sex', choices = c("M", "F")),
  # Add slider input named "year" to select year between 1900 and 2010
  sliderInput('year', 'Select Year', min = 1900, max = 2010, value = 1900),
  # MODIFY CODE BELOW: Add a DT output named "table_top_10_names"
  tableOutput('table_top_10_names')
)

server <- function(input, output, session){
  top_10_names <- function(){
    babynames %>% 
      filter(sex == input$sex) %>% 
      filter(year == input$year) %>% 
      slice_max(prop, n = 10)
  }
  # MODIFY CODE BELOW: Render a DT output named "table_top_10_names"
  output$table_top_10_names <- renderTable({
    top_10_names()
  })
}

shinyApp(ui = ui, server = server)
Upravit a spustit kód