การเพิ่มและแก้ไขคอลัมน์ด้วย mutate
อาจฟังดูน่าแปลกใจ แต่ข้อมูลในชีวิตจริงมักไม่ได้สะอาดพร้อมใช้งานเสมอไป บ่อยครั้งที่ต้องแก้ไขค่าหรือสร้างคอลัมน์ใหม่จากข้อมูลที่มีอยู่ กระบวนการเปลี่ยนแปลงหรือเพิ่มคอลัมน์นี้เรียกว่า mutation ในภาษา dplyr และทำได้ด้วยฟังก์ชัน mutate() ฟังก์ชันนี้รับ tibble และ argument แบบระบุชื่อเพื่ออัปเดตคอลัมน์ ชื่อของแต่ละ argument คือชื่อคอลัมน์ที่ต้องการเปลี่ยนแปลงหรือเพิ่ม ส่วนค่าคือนิพจน์ที่บอกวิธีอัปเดต ตัวอย่างเช่น ถ้า tibble มีคอลัมน์ x และ y โค้ดต่อไปนี้จะอัปเดต x และสร้างคอลัมน์ใหม่ชื่อ z
a_tibble %>%
mutate(
x = x + y,
z = log(x)
)
อีกสิ่งที่ควรทราบคือฟังก์ชัน base-R อย่าง within() หรือ transform() ไม่สามารถใช้งานกับ Spark tibble ได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนะนำ Spark ด้วย sparklyr ใน R
คำแนะนำการฝึกหัด
มีการสร้าง Spark connection ไว้ให้แล้วในชื่อ spark_conn และกำหนด tibble ที่เชื่อมต่อกับ track metadata ใน Spark ไว้เป็น track_metadata_tbl
- เลือกฟิลด์
titleและdurationโดยข้อมูลระยะเวลาอยู่ในหน่วยวินาที - ส่งผลลัพธ์ผ่าน pipe ไปยัง
mutate()เพื่อสร้างฟิลด์ใหม่ชื่อduration_minutesที่เก็บระยะเวลาของเพลงในหน่วยนาที
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# track_metadata_tbl has been pre-defined
track_metadata_tbl
# Manipulate the track metadata
track_metadata_tbl %>%
# Select columns
___ %>%
# Mutate columns
___