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

ลองแยกข้อมูลด้วย Split

บ่อยครั้งที่ข้อมูลของหลายกลุ่มจะอยู่รวมกันใน data frame เดียว อย่างเช่น data frame cash ที่เคยเห็นในบทที่ 3 ซึ่งมีคอลัมน์ cash_flow และ year ของสองกลุ่ม (บริษัท A และ B) แล้วถ้าต้องการแยก data frame นี้ออกเป็นสอง data frame แยกกันตาม company จะทำได้อย่างไร? ในแบบฝึกหัดถัดไปจะได้สำรวจว่า ทำไม ถึงควรทำแบบนั้น แต่ก่อนอื่น มาดูกันว่า จะทำได้อย่างไร โดยใช้ฟังก์ชัน split()

สร้าง grouping สำหรับการแยกข้อมูล แล้วใช้ split() เพื่อสร้าง list ของ data frame สองชุด

grouping <- cash$company
split_cash <- split(cash, grouping)

split_cash 

$A
  company cash_flow year
1       A      1000    1
2       A      4000    3
3       A       550    4

$B
  company cash_flow year
4       B      1500    1
5       B      1100    2
6       B       750    4
7       B      6000    5

หากต้องการรวม data frame กลับคืนเป็นชุดเดิม ให้ใช้ unsplit(split_cash, grouping)

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

R เบื้องต้นสำหรับการเงิน

ดูคอร์ส

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

  • data frame cash พร้อมใช้งานใน workspace แล้ว
  • สร้าง grouping ใหม่จากคอลัมน์ year
  • ใช้ split() เพื่อแยก cash ออกเป็น list ของ data frame จำนวน 5 ชุดโดยแบ่งตาม year แล้วกำหนดให้กับ split_cash
  • พิมพ์ split_cash เพื่อแสดงผล
  • ใช้ unsplit() เพื่อรวม data frame ทั้งหมดกลับเข้าด้วยกัน แล้วกำหนดให้กับ original_cash
  • พิมพ์ original_cash เพื่อเปรียบเทียบกับ data frame cash ชุดแรก

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

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

# Define grouping from year
grouping <- 

# Split cash on your new grouping
split_cash <- 

# Look at your split_cash list


# Unsplit split_cash to get the original data back.
original_cash <- 

# Print original_cash
แก้ไขและรันโค้ด