วิธีกรอง data.table ใน r (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อกรองแถวจาก data.table ใน R:

วิธีที่ 1: กรองแถวตามเงื่อนไขเดียว

 dt[col1 == ' A ', ]

วิธีที่ 2: กรองแถวที่มีค่าในรายการ

 dt[col1 %in% c(' A ', ' C '), ]

วิธีที่ 3: กรองแถวที่ตรงตามเงื่อนไขข้อใดข้อหนึ่ง

 dt[col1 == ' A ' | col2 < 10 , ]

วิธีที่ 4: กรองแถวที่ตรงตามเงื่อนไขหลายข้อ

 dt[col1 == ' A ' & col2 < 10 , ]

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ data.table ต่อไปนี้ใน R:

 library (data.table)

#create data table
dt <- data. table (team=c('A', 'A', 'A', 'B', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data table
dt

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24
5: C 95 34 28

ตัวอย่างที่ 1: กรองแถวตามเงื่อนไข

รหัสต่อไปนี้แสดงวิธีการกรองเฉพาะแถวที่มีค่าในคอลัมน์ ทีม เท่ากับ “A”:

 #filter for rows where team is A
dt[team == ' A ', ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24

ตัวอย่างที่ 2: กรองแถวที่มีค่าในรายการ

รหัสต่อไปนี้แสดงวิธีการกรองเฉพาะแถวที่มีค่าในคอลัมน์ ทีม เท่ากับ “A” หรือ “C”:

 #filter for rows where team is A or C
dt[team %in% c(' A ', ' C '), ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: C 95 34 28

ที่เกี่ยวข้อง: วิธีใช้ตัวดำเนินการ %in% ใน R (พร้อมตัวอย่าง)

ตัวอย่างที่ 3: กรองแถวที่ตรงตามเงื่อนไขข้อใดข้อหนึ่ง

รหัสต่อไปนี้แสดงวิธีการกรองเฉพาะแถวที่มีค่าในคอลัมน์ ทีม เท่ากับ “A” หรือ ค่าในคอลัมน์ คะแนน น้อยกว่า 90:

 #filter for rows where team is A or points < 90
dt[team == ' A ' | points < 90 , ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24

หมายเหตุ : | ตัวดำเนินการหมายถึง “OR” ใน R

ตัวอย่างที่ 4: กรองแถวที่ตรงตามเงื่อนไขหลายข้อ

รหัสต่อไปนี้แสดงวิธีการกรองเฉพาะแถวที่มีค่าในคอลัมน์ ทีม เท่ากับ “A” และ ค่าในคอลัมน์ คะแนน น้อยกว่า 90:

 #filter for rows where team is A and points < 90
dt[team == ' A ' & points < 90 , ]

   team points assists rebounds
1: A 86 31 24

หมายเหตุ : ตัวดำเนินการ & หมายถึง “AND” ใน R

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีกรองเวกเตอร์ใน R
วิธีลบบรรทัดที่มีศูนย์ใน R
วิธีลบบรรทัดว่างออกจาก data frame ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *