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

แปลงข้อมูลเป็นตัวเลขด้วย purrr

ในชุดข้อมูล sw_people ตัวละครบางตัวใน Star Wars มีข้อมูลความสูงที่ไม่ทราบค่า หากต้องการสำรวจข้อมูลและวิเคราะห์ว่าความสูงของตัวละครแตกต่างกันอย่างไรตามดาวเคราะห์บ้านเกิด จำเป็นต้องเขียนโค้ดให้ R แยกแยะระหว่างค่าความสูงและค่าที่หายไปได้อย่างถูกต้อง ขณะนี้ค่าที่หายไปถูกบันทึกเป็น "unknown" แต่ต้องการเปลี่ยนให้เป็น NA แทน ในแบบฝึกหัดนี้จะใช้ map() ร่วมกับ ifelse() เพื่อแก้ปัญหานี้

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

Foundations of Functional Programming with purrr

ดูคอร์ส

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

  • โหลดชุดข้อมูล sw_people
  • ใช้ map() วนซ้ำใน sw_people และดึงค่า "height" ออกมา
  • จากนั้นใช้ map() วนซ้ำในผลลัพธ์ที่ได้ หากค่าใดถูกระบุเป็น "unknown" ให้เปลี่ยนเป็น NA มิฉะนั้นให้แปลงค่านั้นเป็นตัวเลขด้วย as.numeric()

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

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

# Load sw_people data
data(___)

# Map over sw_people and pull out the height element
height_cm <- map(___, ___) %>%
  map(function(x){
    ifelse(___ == "unknown",NA,
    as.numeric(___))
})
แก้ไขและรันโค้ด