A: วิธีนับค่าในคอลัมน์แบบมีเงื่อนไข


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

วิธีที่ 1: นับค่าในคอลัมน์ที่มีเงื่อนไข

 nrow(df[df$column1 == ' value1 ', ])

วิธีที่ 2: นับค่าในหลายคอลัมน์โดยมีเงื่อนไข

 nrow(df[df$column1 == ' value1 ' & df$column2 == ' value2 ', ])

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 12
3 AF 3
4 AF 14
5 BG 22
6 BG 15
7 BF 17
8 BF 17

ตัวอย่างที่ 1: นับค่าในคอลัมน์ที่มีเงื่อนไข

รหัสต่อไปนี้แสดงวิธีนับจำนวนค่าในคอลัมน์ ทีม โดยที่ค่าเท่ากับ ‘ A ‘:

 #count number of rows where team is equal to 'B'
nrow(df[df$team == ' B ', ])

[1] 4

เราจะเห็นได้ว่ามี 4 ค่าในคอลัมน์ ทีม โดยมีค่าเท่ากับ “B”

ตัวอย่างที่ 2: นับค่าในหลายคอลัมน์โดยมีเงื่อนไข

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

 #count number of rows where team is equal to 'B' and position is equal to 'F'
nrow(df[df$team == ' B ' & df$position == ' F ', ])

[1] 2

เราจะเห็นได้ว่าใน data frame มี 2 แถวที่ตรงตามเงื่อนไขทั้งสองนี้

เราสามารถใช้ไวยากรณ์ที่คล้ายกันเพื่อนับจำนวนบรรทัดที่ตรงตามเงื่อนไขจำนวนที่ต้องการ

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการนับจำนวนแถวที่ตรงตามเงื่อนไขสามข้อ:

  • ทีม เท่ากับ ‘B’
  • ตำแหน่ง เท่ากับ ‘G’
  • คะแนน มากกว่า 20
 #count rows where team is 'B' and position is 'G' and points > 20
nrow(df[df$team == ' B ' & df$position == ' G ' & df$points > 20 , ])

[1] 1

เราจะเห็นว่า มีเพียงแถวเดียว ในกรอบข้อมูลเท่านั้นที่ตรงตามเงื่อนไขทั้งสามนี้

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

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

วิธีนับจำนวนบรรทัดใน R
วิธีเลือกแถวเดี่ยวใน data frame ใน R

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

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