Skip to content
Siamcoder

การสร้างเครื่องมือและวิดเจ็ตใน RShiny

rshiny1 min read

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

ตัวอย่างการสร้างเครื่องมือและวิดเจ็ตใน RShiny:

library(shiny)
# กำหนด UI
ui <- fluidPage(
titlePanel("การสร้างเครื่องมือและวิดเจ็ตใน RShiny"),
sidebarLayout(
sidebarPanel(
# ส่วนของเครื่องมือและวิดเจ็ต
selectInput("dataset", "เลือกชุดข้อมูล:", choices = c("iris", "mtcars", "CO2")),
numericInput("nrows", "จำนวนแถวที่แสดง:", value = 5, min = 1),
checkboxInput("summary", "แสดงสรุปข้อมูล")
),
mainPanel(
# ส่วนแสดงผล
verbatimTextOutput("result")
)
)
)
# กำหนด Server
server <- function(input, output) {
# สร้างเครื่องมือและวิดเจ็ต
observeEvent(input$dataset, {
dataset <- switch(input$dataset,
"iris" = iris,
"mtcars" = mtcars,
"CO2" = CO2)
output$nrows <- renderUI({
numericInput("nrows", "จำนวนแถวที่แสดง:", value = 5, min = 1, max = nrow(dataset))
})
})
# แสดงผล
output$result <- renderPrint({
dataset <- switch(input$dataset,
"iris" = iris,
"mtcars" = mtcars,
"CO2" = CO2)
nrows <- input$nrows
summary <- input$summary
if (nrows > nrow(dataset)) {
nrows <- nrow(dataset)
}
if (summary) {
summary(dataset[1:nrows, ])
} else {
dataset[1:nrows, ]
}
})
}
# เรียกใช้งานแอปพลิเคชัน
shinyApp(ui = ui, server = server)`

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

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

ในส่วนของ Server เราใช้ observeEvent เพื่อตรวจสอบเมื่อผู้ใช้งานเลือกชุดข้อมูล และทำการกำหนดเครื่องมือและวิดเจ็ตที่สอดคล้องกับชุดข้อมูลที่ผู้ใช้งานเลือก เช่น หากผู้ใช้งานเลือก "iris" เราจะกำหนด dataset เป็น iris และกำหนด numericInput ให้มีค่าสูงสุดเท่ากับจำนวนแถวของ iris ในส่วนของ Server เรายังกำหนดการแสดงผลข้อมูลที่ผู้ใช้งานเลือกในส่วนของ output$result

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

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

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