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

ตรรกะและ 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
___
แก้ไขและรันโค้ด