Skip to content
Siamcoder

การจัดรูปแบบหน้าต่างและการใช้งานแบบกรองใน RShiny

rshiny1 min read

การจัดรูปแบบหน้าต่างและใช้ตัวกรองใน RShiny เป็นวิธีที่มีประสิทธิภาพในการปรับแต่งและแสดงผลข้อมูลให้เหมาะสมและใช้งานได้ง่าย ในบทความนี้เราจะสำรวจวิธีการจัดรูปแบบหน้าต่างและใช้ตัวกรองใน RShiny พร้อมกับตัวอย่างโค้ด

ตัวอย่างการจัดรูปแบบหน้าต่างและใช้ตัวกรองใน RShiny:

library(shiny)
library(dplyr)
# กำหนด UI
ui <- fluidPage(
titlePanel("การจัดรูปแบบหน้าต่างและใช้ตัวกรองใน RShiny"),
sidebarLayout(
sidebarPanel(
# ส่วนตัวกรอง
selectInput("species", "เลือกสายพันธุ์:", choices = unique(iris$Species))
),
mainPanel(
# ส่วนแสดงผลตาราง
dataTableOutput("table")
)
)
)
# กำหนด Server
server <- function(input, output) {
# ตัวกรองและแสดงผลตาราง
output$table <- renderDataTable({
filtered_data <- iris %>% filter(Species == input$species)
datatable(filtered_data)
})
}
# เรียกใช้งานแอปพลิเคชัน
shinyApp(ui = ui, server = server)`

ในตัวอย่างนี้ เราใช้ library dplyr เพื่อใช้ฟังก์ชัน filter ในการกรองข้อมูล

ในส่วนของ UI เรากำหนดให้แสดงผลในรูปแบบของหน้าต่างเว็บ มีส่วนตัวกรองและส่วนแสดงผลตาราง ในส่วนของตัวกรอง เราใช้ selectInput เพื่อสร้างเลือกตัวเลือกของสายพันธุ์ที่ใช้เป็นตัวกรอง

ในส่วนของ Server เราใช้ renderDataTable เพื่อแสดงผลตาราง โดยเราใช้ filter เพื่อกรองข้อมูลจากตัวแปร iris โดยใช้ข้อมูลที่เลือกจากตัวกรอง input$species และใช้ datatable เพื่อแสดงผลตารางในรูปแบบที่สวยงามและสามารถปรับแต่งได้

เมื่อรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บ ผู้ใช้งานสามารถเลือกสายพันธุ์จากตัวกรองและแอปพลิเคชันจะแสดงผลตารางที่ผ่านการกรองข้อมูลตามที่ผู้ใช้งานเลือก

เมื่อผู้ใช้งานเปลี่ยนเลือกสายพันธุ์ในตัวกรอง แอปพลิเคชันจะทำการกรองข้อมูลที่ตรงกับเงื่อนไขและแสดงผลตารางที่ผ่านการกรองอย่างใกล้ชิด การใช้ตัวกรองเป็นวิธีที่น่าสนใจในการแสดงผลข้อมูลที่ต้องการอย่างถูกต้องและเหมาะสม

นอกจากนี้ยังสามารถจัดรูปแบบหน้าต่างแอปพลิเคชันให้สวยงามและใช้งานได้ง่ายด้วยการเพิ่มสไตล์ รูปแบบ หรือโค้ดอื่น ๆ ตามต้องการของผู้พัฒนาและผู้ใช้งาน

ในส่วนของตัวอย่างโค้ดข้างต้น เราใช้ shiny เพื่อสร้างแอปพลิเคชัน และใช้ dplyr เพื่อใช้งานฟังก์ชัน filter ในการกรองข้อมูล ซึ่งเป็นแพ็คเกจที่ช่วยในการจัดการและแปลงข้อมูลใน R ให้ง่ายขึ้น

ในส่วนของ UI เราใช้ fluidPage เพื่อสร้างหน้าต่างแอปพลิเคชัน และกำหนดให้มีส่วนตัวกรองให้ผู้ใช้งานสามารถเลือกสายพันธุ์ที่ต้องการในการกรองข้อมูล

ในส่วนของ Server เราใช้ renderDataTable เพื่อแสดงผลตารางที่ผ่านการกรองข้อมูลจากตัวกรอง input$species ซึ่งก็คือสายพันธุ์ที่ผู้ใช้งานได้เลือก เราใช้ฟังก์ชัน filter ของแพ็คเกจ dplyr เพื่อกรองข้อมูลจากตัวแปร iris โดยใช้เงื่อนไขที่ผู้ใช้งานเลือก แล