การเชื่อมต่อข้อมูลกับ RShiny
— rshiny — 1 min read
การเชื่อมต่อข้อมูลกับ RShiny เป็นสิ่งสำคัญในการสร้างแอปพลิเคชันที่มีประสิทธิภาพและสามารถแสดงผลข้อมูลได้อย่างถูกต้อง ในบทความนี้เราจะสำรวจวิธีการเชื่อมต่อข้อมูลกับ RShiny และนำมาแสดงผลในแอปพลิเคชัน
ตัวอย่างการเชื่อมต่อข้อมูลกับ RShiny:
library(shiny)library(ggplot2)
# อ่านข้อมูลจากไฟล์ CSVdata <- read.csv("data.csv")
# กำหนด UIui <- fluidPage( # ส่วนหัวของแอปพลิเคชัน headerPanel("การเชื่อมต่อข้อมูลกับ RShiny"), # ส่วนเนื้อหาของแอปพลิเคชัน mainPanel( # ส่วนแสดงผลลัพธ์ plotOutput("plot") ))
# กำหนด Serverserver <- function(input, output) { # ส่วนคำนวณและแสดงผล output$plot <- renderPlot({ # สร้างกราฟ โดยใช้ข้อมูลที่เชื่อมต่อ ggplot(data, aes(x = variable1, y = variable2)) + geom_point() })}
# เรียกใช้งานแอปพลิเคชันshinyApp(ui = ui, server = server)`
ในตัวอย่างนี้ เราใช้ฟังก์ชัน read.csv
เพื่ออ่านข้อมูลจากไฟล์ CSV และเก็บข้อมูลในตัวแปร data
ซึ่งจะใช้ในการสร้ างกราฟ
ในส่วนของ UI เรากำหนดให้แสดงผลกราฟโดยใช้ plotOutput
ในส่วนของ Server เราใช้ฟังก์ชัน renderPlot
เพื่อสร้างและแสดงผลกราฟ ในตัวอย่างนี้เราใช้ ggplot2
ในการสร้างกราฟและใช้ข้อมูลจากตัวแปร data
เมื่อรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บ เป็นกราฟที่สร้างจากข้อมูลที่เชื่อมต่อได้จากไฟล์ CSV ซึ่งสามารถปรับแต่งและดูข้อมูลได้ในรูปแบบที่ต้องการ
ในการเชื่อมต่อข้อมูลกับ RShiny เราไม่จำกัดเฉพาะการอ่านข้อมูลจากไฟล์ CSV เท่านั้น ยังมีวิธีการเชื่อมต่อกับแหล่งข้อมูลอื่น ๆ ได้อีกมากมาย เช่น ฐานข้อมูล MySQL, PostgreSQL, API ข้อมูลออนไลน์ เป็นต้น ตัวอย่างเช่น:
library(shiny)library(DBI)library(RPostgreSQL)
# เชื่อมต่อกับฐานข้อมูล PostgreSQLcon <- dbConnect(PostgreSQL(), user = "username", password = "password", host = "localhost", dbname = "database\_name")
# อ่านข้อมูลจากฐานข้อมูลquery <- "SELECT \* FROM table\_name"data <- dbGetQuery(con, query)
# กำหนด UIui <- fluidPage( # ส่วนหัวของแอปพลิเคชัน headerPanel("การเชื่อมต่อข้อมูลกับ RShiny"), # ส่วนเนื้อหาของแอปพลิเคชัน mainPanel( # ส่วนแสดงผลลัพธ์ dataTableOutput("table") ))
# กำหนด Serverserver <- function(input, output) { # ส่วนคำนวณและแสดงผล output$table <- renderDataTable({ # แสดงตารางข้อมูล datatable(data) })}
# เรียกใช้งานแอปพลิเคชันshinyApp(ui = ui, server = server)`
ในตัวอย่างนี้ เราใช้ฟังก์ชัน dbConnect
เ พื่อเชื่อมต่อกับฐานข้อมูล PostgreSQL โดยระบุพารามิเตอร์เช่น user
, password
, host
, dbname
ให้ถูกต้องตามการกำหนดของฐานข้อมูลของคุณ
เราใช้ฟังก์ชัน dbGetQuery
เพื่ออ่านข้อมูลจากฐานข้อมูลโดยระบุคำสั่ง SQL ในตัวอย่างนี้เราใช้คำสั่ง SELECT * FROM table_name
เพื่อเลือกข้อมูลทั้งหมดจากตาราง table_name
ในส่วนของ UI เรากำหนดให้แสดงผลในรูปแบบตารางโดยใช้ dataTableOutput
ในส่วนของ Server เราใช้ฟังก์ชัน renderDataTable
เพื่อแสดงผลข้อมูลในรูปแบบตาราง ในตัวอย่างนี้เราใช้ DT
package ในการแสดงผลข้อมูลในรูปแบบตาราง
เมื่อรันโค้ดด้านบน แอปพลิเคชัน RShiny จะถูกสร้างขึ้นและแสดงผลบนหน้าเว็บ เป็นตารางข้อมูลที่เราเชื่อมต่อจากฐานข้อมูล PostgreSQL และสามารถปรับแต่งและดูข้อมูลได้ในรูปแบบที่ต้องการ