วิธีเซ็ตย่อยเฟรมข้อมูลใน r ตามเงื่อนไขหลายประการ


คุณสามารถใช้วิธีการต่อไปนี้เพื่อกำหนดย่อยกรอบข้อมูลตามเงื่อนไขต่างๆ ใน R:

วิธีที่ 1: กรอบข้อมูลย่อยโดยใช้ตรรกะ “OR”

 df_sub <- subset(df, team == ' A ' | points < 20 )

ตัวอย่างนี้จะซับเซ็ตเฟรมข้อมูลสำหรับแถวที่คอลัมน์ทีมเท่ากับ “A” หรือ คอลัมน์คะแนนน้อยกว่า 20

วิธีที่ 2: กรอบข้อมูลย่อยโดยใช้ตรรกะ “AND”

 df_sub <- subset(df, team == ' A ' & points < 20 )

ตัวอย่างนี้จะซับเซ็ตเฟรมข้อมูลสำหรับแถวที่คอลัมน์ทีมเท่ากับ “A” และ คอลัมน์คะแนนน้อยกว่า 20

บทช่วยสอนนี้จะอธิบายวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Forward'),
                 dots=c(22, 25, 19, 22, 12, 35))

#view data frame
df

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35

ตัวอย่างที่ 1: กรอบข้อมูลย่อยโดยใช้ตรรกะ “OR”

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

 #subset data frame where team is 'A' or points is less than 20
df_sub <- subset(df, team == ' A ' | points < 20 )

#view subset
df_sub

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
5 B Forward 12

แต่ละแถวในชุดย่อยมีค่า “A” ในคอลัมน์ทีม หรือ ค่าในคอลัมน์คะแนนน้อยกว่า 20

หมายเหตุ : | สัญลักษณ์แสดงถึง “OR” ใน R

ในตัวอย่างนี้ เราได้รวมสัญลักษณ์ “OR” ไว้เพียงตัวเดียวในฟังก์ชัน subset() แต่เราสามารถรวมได้มากเท่าที่เราต้องการจะสับเซตตามเงื่อนไขที่มากกว่านี้

ตัวอย่างที่ 2: กรอบข้อมูลย่อยโดยใช้ตรรกะ “AND”

รหัสต่อไปนี้แสดงวิธีเซ็ตย่อยกรอบข้อมูลสำหรับแถวที่คอลัมน์ทีมเท่ากับ “A” และ คอลัมน์คะแนนน้อยกว่า 20:

 #subset data frame where team is 'A' and points is less than 20
df_sub <- subset(df, team == ' A ' & points < 20 )

#view subset
df_sub

  team position points
3 A Forward 19

โปรดทราบว่าเซ็ตย่อยผลลัพธ์จะมีเพียงแถวเดียวเท่านั้น

อันที่จริง มีเพียงแถวเดียวเท่านั้นที่มีค่า “A” ในคอลัมน์ทีม และ ค่าในคอลัมน์คะแนนน้อยกว่า 20

หมายเหตุ : สัญลักษณ์ & หมายถึง “และ” ใน R

ในตัวอย่างนี้ เราได้รวมสัญลักษณ์ “AND” ไว้เพียงตัวเดียวในฟังก์ชัน subset() แต่เราสามารถรวมได้มากเท่าที่เราต้องการจะสับเซตตามเงื่อนไขที่มากกว่านี้

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

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

วิธีเลือกแถวเดี่ยวใน data frame ใน R
วิธีเลือกแถวที่มีค่า NA ใน R
วิธีเลือกแถวตามค่าเวกเตอร์ใน R

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

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