18, ก.ค. 2020
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 เมื่อต้องการความเข้าใจง่ายสำหรับผู้ใช้ทั่วไป

📥 ขอรับ R Script ตัวอย่าง

👉 ลงทะเบียนเพื่อขอรับ R markdown script สำหรับ EP#18

ใส่ความเห็น

Related Posts