ปรับแต่งพารามิเตอร์ของ word cloud
create_wordcloud() มีอาร์กิวเมนต์เสริม 2 ตัว ได้แก่ num_words ซึ่งเป็นจำนวนเต็มสำหรับกำหนดจำนวนคำสูงสุดที่จะแสดง และ background สำหรับกำหนดสีพื้นหลังของภาพ
ตอนนี้ Shiny app ยังแสดง word cloud ด้วยค่าพารามิเตอร์เดิมทุกครั้ง เนื่องจากฟังก์ชันสร้าง word cloud รองรับพารามิเตอร์ทั้งสองนี้ จึงน่าเสียดายหากไม่นำมาใช้งาน ควรให้ผู้ใช้สามารถปรับค่าเหล่านี้ได้เองผ่าน Shiny inputs
โจทย์คือการเพิ่ม input สองตัวเข้าไปใน Shiny app แล้วนำค่าจาก input เหล่านั้นมาใช้เป็นพารามิเตอร์ num_words และ background ของ word cloud
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R
คำแนะนำการฝึกหัด
โหลดแพ็กเกจที่จำเป็นทั้งหมดไว้แล้ว รวมถึง colourpicker โดยให้ดำเนินการดังนี้
- เพิ่ม numeric input ที่มี ID ว่า "num", ค่าเริ่มต้นเป็น 100, และค่าต่ำสุดเป็น 5
- เพิ่ม color input (จากแพ็กเกจ
colourpicker) ที่มี ID ว่า "col", label ว่า "Background color", และค่าสีเริ่มต้นเป็น "white" - นำค่าจาก input ทั้งสองมาใช้กำหนดพารามิเตอร์ของ
create_wordcloud()(บรรทัดที่ 16)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
ui <- fluidPage(
h1("Word Cloud"),
# Add a numeric input for the number of words
___(inputId = ___, label = "Maximum number of words",
value = ___, min = ___),
# Add a color input for the background color
___(___),
wordcloud2Output("cloud")
)
server <- function(input, output) {
output$cloud <- renderWordcloud2({
# Use the values from the two inputs as
# parameters to the word cloud
create_wordcloud(artofwar,
num_words = ___, background = ___)
})
}
shinyApp(ui = ui, server = server)