Shiny app สำหรับ Word Cloud
มีชุดข้อมูลตัวอย่างชื่อ artofwar ให้แล้ว ซึ่งบรรจุข้อความทั้งหมดของหนังสือ Art of War ลองรัน head(artofwar) หรือ tail(artofwar) เพื่อดูบทแรกและบทสุดท้ายของหนังสือได้
ดังที่กล่าวไปในวิดีโอ เนื่องจาก word cloud เป็นประเภทผลลัพธ์ที่ยังไม่เคยเห็นมาก่อน จึงต้องใช้คู่ฟังก์ชัน output และ render ชุดใหม่ ได้แก่ wordcloud2Output() และ renderWordcloud2() ซึ่งมาจากแพ็กเกจ wordcloud2
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R
คำแนะนำการฝึกหัด
ฟังก์ชัน create_wordcloud() ชุดข้อมูล artofwar และแพ็กเกจที่จำเป็นทั้งหมดพร้อมใช้งานใน workspace แล้ว
- เพิ่ม placeholder สำหรับผลลัพธ์ word cloud ใน UI โดยกำหนด outputId เป็น
cloud - เรนเดอร์ออบเจกต์ word cloud แล้วกำหนดให้กับ item ที่ถูกต้องใน list
output(บรรทัดที่ 11)
อนึ่ง create_wordcloud() เป็นฟังก์ชันที่เราเขียนไว้ให้แล้ว จึงไม่สามารถรันใน RStudio บนเครื่องของตัวเองได้โดยตรง หากต้องการดูโค้ดของฟังก์ชันนี้ ให้พิมพ์ create_wordcloud ในคอนโซล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define UI for the application
ui <- fluidPage(
h1("Word Cloud"),
# Add the word cloud output placeholder to the UI
___(outputId = "cloud")
)
# Define the server logic
server <- function(input, output) {
# Render the word cloud and assign it to the output list
output$___ <- ___({
# Create a word cloud object
create_wordcloud(artofwar)
})
}
# Run the application
shinyApp(ui = ui, server = server)