Meer manieren om data te bekijken: plotten en downloaden

Casestudies: webapplicaties bouwen met Shiny in R

Dean Attali

Shiny Consultant

Data plotten

  • Plots zijn vaak de eerste stap bij het verkennen van een nieuwe dataset

    • Plots zijn outputs
    • Placeholderfunctie voor plot-output in de UI:
    plotOutput("my_plot")
    
    • Renderfunctie voor de plot in de server:
  output$my_plot <- renderPlot({
      # code for a plot
  })
Casestudies: webapplicaties bouwen met Shiny in R

Data downloaden

  • Downloaden kan via een downloadknop

    chapter3_2_more_ways_to_view_data_plot_and_download.009.png

    • Je kunt elk type bestand aanbieden
    • afbeeldingsbestanden, tekstbestanden, CSV-bestanden
Casestudies: webapplicaties bouwen met Shiny in R

CSV-bestanden

  • Comma Separated Values

  • Sla kleine tot middelgrote datasets op

  • CSV van gapminder:

    country,continent,year,lifeExp,pop,gdpPercap  
    Afghanistan,Asia,1952,28.801,8425333,779.4453145  
    Afghanistan,Asia,1957,30.332,9240934,820.8530296  
    Afghanistan,Asia,1962,31.997,10267083,853.10071  
    Afghanistan,Asia,1967,34.02,11537966,836.1971382
    
  • CSV-bestand maken:

write.csv(gapminder, "myfile.csv")
Casestudies: webapplicaties bouwen met Shiny in R

Data downloaden in Shiny

  • De downloadknop is een output

    • Voeg een downloadknop toe aan de UI (zoals outputfuncties)
    downloadButton(outputId = "download_data", 
                   label = "Download data")
    
    • Voeg een download handler toe in de server (zoals renderfuncties)
    output$download_data <- downloadHandler(
        filename = "data.csv",
        content = function(file) {
            # Code that creates a file in the path <file>
            write.csv(gapminder, file)
        }
    )
    
Casestudies: webapplicaties bouwen met Shiny in R

Download handler

  output$download_data <- downloadHandler(
      filename = "data.csv",
      content = function(file) {
          # code that creates a file in the path <file>
          write.csv(gapminder, file)
      }
  )
  • downloadHandler() heeft twee argumenten
    • filename
      • Naam van het gedownloade bestand
    • content(file)
      • Functie met 1 argument
      • Maak het te downloaden bestand; argument is het bestandspad
Casestudies: webapplicaties bouwen met Shiny in R

Laten we oefenen!

Casestudies: webapplicaties bouwen met Shiny in R

Preparing Video For Download...