ตรรกะและ subset()
ลองมาดูโจทย์ที่น่าสนใจนี้กัน คุณรู้วิธีสร้าง logical vector ที่บอกว่าเงื่อนไขใดเป็นจริงแล้ว แต่จะ subset ข้อมูลใน data frame ให้เหลือเฉพาะแถวที่ตรงตามเงื่อนไขนั้นได้อย่างไร?
หากเคยเรียน Introduction to R for Finance มาก่อน อาจจำฟังก์ชัน subset() ได้ subset() รับ data frame (หรือ vector/matrix) และ logical vector ที่ระบุว่าจะคืนแถวใดบ้าง:
stocks
date ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06
3 2017-01-24 175.90 213.55
4 2017-01-25 178.29 212.22
subset(stocks, ibm < 175)
date ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06
มีประโยชน์มาก ใช่ไหม? สามารถใช้ data frame stocks ที่เตรียมไว้ให้ได้เลย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลางสำหรับการเงิน
คำแนะนำการฝึกหัด
- Subset
stocksเพื่อดึงแถวที่paneraมีค่ามากกว่า216 - Subset
stocksเพื่อดึงแถวที่dateเท่ากับ"2017-01-23"อย่าลืมใช้as.Date()! - Subset
stocksเพื่อดึงแถวที่ibmน้อยกว่า175และpaneraน้อยกว่า216.50
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Panera range
___
# Specific date
___
# IBM and Panera joint range
___