วิธีนับการสังเกตต่อกลุ่มใน r


บ่อยครั้งที่คุณอาจสนใจนับจำนวน การสังเกต ต่อกลุ่มในหน่วย R

โชคดีที่ทำได้ง่ายโดยใช้ฟังก์ชัน count() ของไลบรารี dplyr

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

 #create data frame
df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C' , 'CC'),
                 position = c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F', 'F '),
                 points = c(4, 13, 7, 8, 15, 15, 17, 9, 21, 22, 25, 31))

#view data frame
df

   team position points
1 GA 4
2 AG 13
3AF 7
4 BG 8
5 BF 15
6 BF 15
7 BF 17
8 BG 9
9 GC 21
10 CF 22
11 CF 25
12 CF 31

ตัวอย่างที่ 1: การนับด้วยตัวแปร

รหัสต่อไปนี้แสดงวิธีการนับจำนวนผู้เล่นทั้งหมดต่อทีม:

 library (dplyr)

#count total observations by variable 'team'
df %>% count(team)

# A tibble: 3 x 2
  team n
   
1 to 3
2 B 5
3 C 4

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ทีม A ประกอบด้วยผู้เล่น 3 คน
  • ทีม B ประกอบด้วยผู้เล่น 5 คน
  • ทีม C ประกอบด้วยผู้เล่น 4 คน

ฟังก์ชัน single count() นี้ทำให้เรามีแนวคิดที่ดีเกี่ยวกับการกระจายผู้เล่นต่อทีม

โปรดทราบว่าเราสามารถ จัดเรียง การนับได้หากต้องการ:

 #count total observations by variable 'team'
df %>% count(team, sort= TRUE )

# A tibble: 3 x 2
  team n
   
1 B 5
2 C 4
3 to 3

ตัวอย่างที่ 2: การนับด้วยตัวแปรหลายตัว

นอกจากนี้เรายังสามารถจัดเรียงตามตัวแปรหลายตัว:

 #count total observations by 'team' and 'position'
df %>% count(team, position)

# A tibble: 6 x 3
  team position n
       
1 AF 1
2 AG 2
3 BF 3
4 BG 2
5 CF 3
6 GC 1

จากผลลัพธ์เราจะเห็นได้ว่า:

  • ทีม A มีผู้เล่น 1 คนในตำแหน่ง “F” (กองหน้า) และผู้เล่น 2 คนในตำแหน่ง “G” (การ์ด)
  • ทีม B มีผู้เล่น 3 คนในตำแหน่ง “F” (กองหน้า) และผู้เล่น 2 คนในตำแหน่ง “G” (การ์ด)
  • ทีม C มีผู้เล่น 3 คนในตำแหน่ง “F” (กองหน้า) และผู้เล่น 1 คนในตำแหน่ง “G” (การ์ด)

ตัวอย่างที่ 3: ตัวเลขถ่วงน้ำหนัก

นอกจากนี้เรายังสามารถ “ถ่วงน้ำหนัก” จำนวนตัวแปรหนึ่งด้วยตัวแปรอีกตัวหนึ่งได้ ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการนับการสังเกตทั้งหมดต่อทีม โดยใช้ตัวแปร “คะแนน” เป็นน้ำหนัก:

 df %>% count(team, wt= points )

# A tibble: 3 x 2
  team n
   
1 to 24
2 B 64
3 C 99

คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน count() ได้ที่นี่

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

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