วิธีดูข้อมูลเพิ่มเติม: พล็อตและดาวน์โหลด

กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

Dean Attali

Shiny Consultant

การพล็อตข้อมูล

  • พล็อตเป็นขั้นตอนแรกที่นิยมใช้เมื่อสำรวจชุดข้อมูลใหม่

    • พล็อตเป็น output
    • ฟังก์ชัน placeholder สำหรับ output พล็อตใน UI:
    plotOutput("my_plot")
    
    • ฟังก์ชัน render พล็อตใน server:
  output$my_plot <- renderPlot({
      # code for a plot
  })
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

การดาวน์โหลดข้อมูล

  • รองรับการดาวน์โหลดผ่านปุ่มดาวน์โหลด

    chapter3_2_more_ways_to_view_data_plot_and_download.009.png

    • สร้างไฟล์ได้ทุกประเภทสำหรับดาวน์โหลด
    • ไฟล์รูปภาพ, ไฟล์ข้อความ, ไฟล์ CSV
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

ไฟล์ CSV

  • Comma Separated Values

  • เก็บชุดข้อมูลขนาดเล็กถึงกลาง

  • CSV ของ 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:

write.csv(gapminder, "myfile.csv")
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

การดาวน์โหลดข้อมูลใน Shiny

  • ปุ่มดาวน์โหลดถูกจัดการเป็น output

    • เพิ่มปุ่มดาวน์โหลดใน UI: (คล้ายกับฟังก์ชัน output)
    downloadButton(outputId = "download_data", 
                   label = "Download data")
    
    • เพิ่ม download handler ใน server: (คล้ายกับฟังก์ชัน render)
    output$download_data <- downloadHandler(
        filename = "data.csv",
        content = function(file) {
            # Code that creates a file in the path <file>
            write.csv(gapminder, file)
        }
    )
    
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน 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() มี 2 อาร์กิวเมนต์
    • filename
      • ชื่อของไฟล์ที่ดาวน์โหลด
    • content(file)
      • ฟังก์ชันที่มี 1 อาร์กิวเมนต์
      • สร้างไฟล์สำหรับดาวน์โหลด โดยอาร์กิวเมนต์คือ path ของไฟล์
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

มาฝึกกันเถอะ!

กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R

Preparing Video For Download...