เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

มาลองใช้ Log Transform กัน

มาดูค่าควอร์ไทล์ของรายได้เฉลี่ยต่อรหัสไปรษณีย์ในรัฐ NC กัน

summary(high_inc$mean_income)

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  55947   62380   71655   83682   90695  550849

ช่วงของข้อมูลกว้างเกือบ $500,000! อย่างไรก็ตาม ค่ามัธยฐานอยู่ใกล้กับค่าต่ำสุดมากกว่าค่าสูงสุด ซึ่งบ่งชี้ว่าข้อมูลเบ้ไปทางขวา เนื่องจากตัวแปรรายได้เฉลี่ยมีค่าที่สูงผิดปกติอยู่บ้าง การไล่สีแบบต่อเนื่องจึงไม่ค่อยช่วยให้เห็นความแตกต่างได้ชัดเจนนัก การทำ log transform กับตัวแปรที่เบ้ขวาจะดึงค่าสูงสุดให้เข้าใกล้ค่าเฉลี่ยมากขึ้น ทำให้การกระจายตัวของข้อมูลสมมาตรขึ้น

การทำ log transform กับรายได้เฉลี่ยบนแผนที่จะช่วยเพิ่มความหลากหลายของการไล่สีในรหัสไปรษณีย์รายได้สูง และทำให้เห็นการกระจายตัวของรายได้เฉลี่ยทั่วทั้งรัฐได้ชัดเจนยิ่งขึ้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Interactive Maps with leaflet in R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง color palette nc_pal เวอร์ชันที่ผ่านการทำ log transform
  • นำ color palette เวอร์ชัน log ไปใช้กับแผนที่ leaflet
  • คอมเมนต์ map tile ออกจากแผนที่ leaflet เพื่อให้มองเห็นความแตกต่างของรายได้เฉลี่ยได้ชัดขึ้น (เพิ่ม # โดยไม่มีช่องว่างนำหน้าฟังก์ชันที่เพิ่ม map tile)

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Use the log function to create a new version of nc_pal
nc_pal <- colorNumeric("YlGn", domain = ___(high_inc@data$mean_income))

# comment out the map tile
high_inc %>%
  leaflet() %>%
  ___addProviderTiles("CartoDB") %>%
  # apply the new nc_pal to the map
  addPolygons(weight = 1, color = ~nc_pal(___(mean_income)), fillOpacity = 1,
              label = ~paste0("Mean Income: ", dollar(mean_income)),
              highlightOptions = highlightOptions(weight = 5, color = "white", bringToFront = TRUE))
แก้ไขและรันโค้ด