การสร้างแอปพลิเคชัน RShiny
— rshiny — 1 min read
การพัฒนาแอปพลิเคชัน RShiny เป็นกระบวนการสร้างแอปพลิเคชันที่ใช้ภาษา R และชุดเครื่องมือ RShiny เพื่อสร้างแอปพลิเคชันที่มีตัวอินเทอร์แอคทีฟใช้งานง่ายและสวยงาม แอปพลิเคชัน RShiny ใช้ได้ในหลายสาขาวิชาที่ต้องการการแสดงผลข้อมูลอย่างสร้างสรรค์ ตั้งแต่การวิเคราะห์ข้อมูล, การสร้างกราฟ, การสร้างแบบฟอร์ม, การจัดการข้อมูล และอื่น ๆ
ด้านล่างนี้เป็นตัวอย่างของการพัฒนาแอปพลิเคชัน RShiny:
# โค้ดตัวอย่างสร้างแอปพลิเคชัน RShinylibrary(shiny)
# กำหนด UIui <- fluidPage( # ส่วนหัวขอ งแอปพลิเคชัน headerPanel("ตัวอย่างแอปพลิเคชัน RShiny"), # ส่วนเนื้อหาของแอปพลิเคชัน mainPanel( h3("ยินดีต้อนรับสู่แอปพลิเคชัน RShiny!"), p("นี่คือตัวอย่างแอปพลิเคชัน RShiny ที่ใช้งานง่าย") ))
# กำหนด Serverserver <- function(input, output) { # ไม่มีการดำเนินการใด ๆ ในส่วน Server}
# เรียกใช้งานแอปพลิเคชันshinyApp(ui = ui, server = server)`
ในตัวอย่างนี้ เราใช้ฟังก์ชัน fluidPage
เพื่อกำหนดหน้าต่างแอปพลิเคชัน และใช้ฟังก์ชัน headerPanel
เพื่อกำหนดส่วนหัวของแอปพลิเคชัน ในส่วนของเนื้อหาของแอปพลิเคชัน เราใช้ฟังก์ชัน mainPanel
เพื่อกำหนดเนื้อหาที่จะแสดงในแอปพลิเคชัน ในตัวอย่างนี้เราใส่ข้อความ "ยินดีต้อนรับสู่แอปพลิเคชัน RShiny!" และ "นี่คือตัวอย่างแอปพลิเคชัน RShiny ที่ใช้งานง่าย" ในส่วน Server เราไม่มีการดำเนินการใด ๆ ในตัวอย่างนี้
โดยเมื่อทำการรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บเบราว์เซอร์ ผู้ใช้งานจะเห็นหน้าต่างแอปพลิเคชันที่มีส่วนหัว "ตัวอย่างแอปพลิเคชัน RShiny" และเนื้อหาที่มีข้อความ "ยินดีต้อนรับสู่แอปพลิเคชัน RShiny!" และ "นี่คือตัวอย่างแอปพลิเคชัน RShiny ที่ใช้งานง่าย"
เพื่อพัฒนาแอปพลิเคชัน RShiny ที่มีความสมบ ูรณ์และมีประสิทธิภาพมากยิ่งขึ้น คุณสามารถเพิ่มฟีเจอร์ต่าง ๆ เข้าไปในแอปพลิเคชันของคุณได้ ตัวอย่างเช่นการเพิ่มกราฟ, แบบฟอร์ม, ตารางข้อมูล และฟังก์ชันอื่น ๆ เพื่อให้แอปพลิเคชันของคุณมีความสมบูรณ์และมีประสิทธิภาพมากยิ่งขึ้น
ตัวอย่างการเพิ่มฟีเจอร์ในแอปพลิเคชัน RShiny:
library(shiny)
ui <- fluidPage( headerPanel("ตัวอย่างแอปพลิเคชัน RShiny"), sidebarLayout( sidebarPanel( # เพิ่มแบบฟอร์มสำหรับกรอกข้อมูล textInput("name", "ชื่อ:", value = ""), numericInput("age", "อายุ:", value = NULL), actionButton("submit", "ส่งข้อมูล") ), mainPanel( # เพิ่มกราฟแสดงผล plotOutput("plot"), # เพิ่มตารางแสดงผล dataTableOutput("table") ) ))
server <- function(input, output) { # สร้างกราฟเมื่อกดปุ่มส่งข้อมูล observeEvent(input$submit, { plot_data <- data.frame( Name = input$name, Age = input$age ) output$plot <- renderPlot({ barplot(plot_data$Age, names.arg = plot_data$Name, xlab = "ชื่อ", ylab = "อายุ", main = "กราฟแสดงอายุ") }) }) # แสดงตารางเมื่อมีข้อมูล output$table <- renderDataTable({ if (!is.null(input$name) & !is.null(input$age)) { data.frame( Name = input$name, Age = input$age ) } })}
shinyApp(ui = ui, server = server)`
ในตัวอย่างนี้เราได้เพิ่มฟีเจอร์ในแอปพลิเคชัน RShiny โดยใช้ฟังก์ชัน sidebarLayout
เพื่อแบ่งหน้าต่างเป็นสองส่วน ส่วน sidebarPanel
เราได้เพิ่มแบบฟอร์มที่ประกอบด้วยช่องให้กรอกชื่อและอายุ และปุ่ม "ส่งข้อมูล" เพื่อส่งข้อมูลจากแบบฟอร์ม ในส่วน mainPanel
เราได้เพิ่มกราฟแสดงผลให้แสดงกราฟแท่งของอายุ และตารางแสดงผลข้อมูลที่ผู้ใช้กรอกในแบบฟอร์ม
เมื่อรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บเบราว์เซอร์ ผู้ใช้งานจะเห็นหน้าต่างแอปพลิเคช ันที่มีส่วนหัว "ตัวอย่างแอปพลิเคชัน RShiny" และส่วน sidebarPanel
ที่มีแบบฟอร์มสำหรับกรอกข้อมูลชื่อและอายุ และปุ่ม "ส่งข้อมูล" เมื่อผู้ใช้งานกรอกข้อมูลและกดปุ่ม "ส่งข้อมูล" แอปพลิเคชันจะสร้างกราฟแสดงผลอายุแบบแท่งและแสดงตารางข้อมูลที่ผู้ใช้กรอกในแบบฟอร์ม