R-studio : ( EP#18 ) จัดช่วงสถิติ Qualtile, Jenks และ Equal Interval แผนที่รายได้ประชากรรายจังหวัด
R-studio : ( EP#18 ) การจัดช่วงสถิติ Qualtile, Jenks และ Equal Interval แผนที่รายได้ประชากรของประเทศไทย ด้วยโปรแกรม R
เป็นการฝึกปฏิบัติการต่อจาก EP#17 เพื่อจัดช่วงชั้นข้อมูลสถิติในรูปแบบ Qualtile, Jenks และ Equal Interval จากฐานข้อมูลรายได้ประชากรรายครัวเรือนของแต่ละจังหวัด เพื่อนำมาเชื่อมโยงกับ Shapefile รายจังหวัด ในโปรแกรม R
ลงทะเบียนเพื่อขอตัวอย่างไฟล์ R script ได้ที่ https://docs.google.com/forms/d/e/1FAIpQLSfmokJQs7y_10X1uubg3wo_KBjwdTz-LFAU6LJZi6EHU-bFaw/viewform
🧭 วัตถุประสงค์
เพื่อฝึกใช้เทคนิคการจัดช่วงสถิติ (classification methods) สำหรับการแสดงแผนที่เชิงปริมาณ (Choropleth Map) จากข้อมูลรายได้ของประชากรไทยรายจังหวัด โดยใช้โปรแกรม R ร่วมกับ classInt
, leaflet
, และ sf
🧩 เครื่องมือและแพ็กเกจที่ใช้
rCopyEditinstall.packages(c("sf", "classInt", "leaflet", "RColorBrewer", "dplyr"))
🗂️ ขั้นตอนการดำเนินงาน
1. นำเข้าข้อมูล
rCopyEditlibrary(sf)
library(readxl)
library(dplyr)
thai_prov <- st_read("thailand_province.shp")
income_data <- read_excel("income_by_province.xlsx")
thai_income <- thai_prov %>%
left_join(income_data, by = "province_name")
2. จัดช่วงข้อมูล (Classification Methods)
rCopyEditlibrary(classInt)
# สร้างช่วงด้วย 3 วิธี
breaks_quantile <- classIntervals(thai_income$income_avg, n = 5, style = "quantile")
breaks_jenks <- classIntervals(thai_income$income_avg, n = 5, style = "jenks")
breaks_equal <- classIntervals(thai_income$income_avg, n = 5, style = "equal")
3. แสดงแผนที่ด้วย leaflet
rCopyEditlibrary(leaflet)
library(RColorBrewer)
# ใช้ Jenks เป็นตัวอย่าง
pal_jenks <- colorBin("YlOrRd", domain = thai_income$income_avg,
bins = breaks_jenks$brks)
leaflet(thai_income) %>%
addTiles() %>%
addPolygons(
fillColor = ~pal_jenks(income_avg),
fillOpacity = 0.7,
color = "#333333",
weight = 1,
label = ~paste(province_name, ":", income_avg, "บาท")
) %>%
addLegend(pal = pal_jenks, values = ~income_avg,
title = "รายได้เฉลี่ย (บาท)",
opacity = 0.8)
📊 เปรียบเทียบผลลัพธ์การจัดช่วง
Method | ลักษณะช่วงที่ได้ |
---|---|
Quantile | จำนวนจังหวัดในแต่ละช่วงใกล้เคียงกัน |
Jenks | ใช้เทคนิคการลดความแปรปรวนในกลุ่มข้อมูล |
Equal | ความกว้างของแต่ละช่วงเท่ากัน |
🧠 คำแนะนำการเลือกใช้:
- ใช้ Jenks เมื่อต้องการแสดง pattern ของข้อมูลจริงอย่างเป็นธรรมชาติ
- ใช้ Quantile เมื่อเน้นการเปรียบเทียบจังหวัดจำนวนใกล้เคียงกันในแต่ละกลุ่ม
- ใช้ Equal Interval เมื่อต้องการความเข้าใจง่ายสำหรับผู้ใช้ทั่วไป