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: