R - บ็อกซ์พล็อต
บ็อกซ์พล็อตเป็นการวัดว่าข้อมูลในชุดข้อมูลกระจายได้ดีเพียงใด แบ่งชุดข้อมูลออกเป็นสามควอไทล์ กราฟนี้แสดงค่าต่ำสุดค่าสูงสุดค่ามัธยฐานควอร์ไทล์แรกและควอร์ไทล์ที่สามในชุดข้อมูล นอกจากนี้ยังมีประโยชน์ในการเปรียบเทียบการกระจายของข้อมูลระหว่างชุดข้อมูลด้วยการวาด boxplots สำหรับแต่ละชุด
Boxplots ถูกสร้างขึ้นใน R โดยใช้ไฟล์ boxplot() ฟังก์ชัน
ไวยากรณ์
ไวยากรณ์พื้นฐานในการสร้าง boxplot ใน R คือ -
boxplot(x, data, notch, varwidth, names, main)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
x เป็นเวกเตอร์หรือสูตร
data คือกรอบข้อมูล
notchเป็นค่าตรรกะ ตั้งค่าเป็น TRUE เพื่อวาดรอย
varwidthเป็นค่าตรรกะ กำหนดเป็นจริงเพื่อวาดความกว้างของกล่องตามสัดส่วนของขนาดตัวอย่าง
names คือป้ายกำกับกลุ่มที่จะพิมพ์ภายใต้แต่ละบ็อกซ์พล็อต
main ใช้เพื่อตั้งชื่อให้กับกราฟ
ตัวอย่าง
เราใช้ชุดข้อมูล "mtcars" ที่มีอยู่ในสภาพแวดล้อม R เพื่อสร้างบ็อกซ์พล็อตพื้นฐาน ลองดูคอลัมน์ "mpg" และ "cyl" ใน mtcars
input <- mtcars[,c('mpg','cyl')]
print(head(input))
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
mpg cyl
Mazda RX4 21.0 6
Mazda RX4 Wag 21.0 6
Datsun 710 22.8 4
Hornet 4 Drive 21.4 6
Hornet Sportabout 18.7 8
Valiant 18.1 6
การสร้าง Boxplot
สคริปต์ด้านล่างนี้จะสร้างกราฟบ็อกซ์พล็อตสำหรับความสัมพันธ์ระหว่าง mpg (ไมล์ต่อแกลลอน) และกระบอกสูบ (จำนวนกระบอกสูบ)
# Give the chart file a name.
png(file = "boxplot.png")
# Plot the chart.
boxplot(mpg ~ cyl, data = mtcars, xlab = "Number of Cylinders",
ylab = "Miles Per Gallon", main = "Mileage Data")
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -
Boxplot พร้อม Notch
เราสามารถวาด boxplot ด้วยรอยบากเพื่อดูว่าค่ามัธยฐานของกลุ่มข้อมูลต่างๆจับคู่กันอย่างไร
สคริปต์ด้านล่างนี้จะสร้างกราฟบ็อกซ์พล็อตที่มีรอยบากสำหรับแต่ละกลุ่มข้อมูล
# Give the chart file a name.
png(file = "boxplot_with_notch.png")
# Plot the chart.
boxplot(mpg ~ cyl, data = mtcars,
xlab = "Number of Cylinders",
ylab = "Miles Per Gallon",
main = "Mileage Data",
notch = TRUE,
varwidth = TRUE,
col = c("green","yellow","purple"),
names = c("High","Medium","Low")
)
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -