วิธีคำนวณเปอร์เซ็นต์ตามกลุ่มใน r (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณเปอร์เซ็นต์ตามกลุ่มใน R:

 library (dplyr)

df %>%
  group_by(group_var) %>%
  mutate(percent = value_var/sum(value_var))

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: คำนวณเปอร์เซ็นต์ตามกลุ่มในหน่วย R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ซึ่งแสดงคะแนนที่ผู้เล่นบาสเก็ตบอลจากทีมต่างๆ ทำไว้:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 points=c(12, 29, 34, 14, 10, 11, 7, 36, 34, 22))

#view data frame
df

   team points
1 to 12
2 to 29
3 to 34
4 to 14
5 to 10
6 B 11
7 B 7
8 B 36
9 B 34
10 B 22

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างคอลัมน์ใหม่ในกรอบข้อมูลที่แสดงเปอร์เซ็นต์ของคะแนนรวมที่ทำได้ โดยจัดกลุ่มตามทีม:

 library (dplyr)

#calculate percentage of points scored, grouped by team
df %>%
  group_by(team) %>%
  mutate(percent = points/sum(points))

# A tibble: 10 x 3
# Groups: team [2]
   team points percent
        
 1 to 12 0.121 
 2 A 29 0.293 
 3 A 34 0.343 
 4 A 14 0.141 
 5 A 10 0.101 
 6 B 11 0.1   
 7 B 7 0.0636
 8 B 36 0.327 
 9 B 34 0.309 
10 B 22 0.2 

คอลัมน์ เปอร์เซ็นต์ ระบุเปอร์เซ็นต์ของคะแนนรวมที่ทำโดยผู้เล่นรายนี้ในทีมของเขา

เช่น ผู้เล่นทีม A ทำคะแนนได้ทั้งหมด 99 คะแนน

ดังนั้นผู้เล่นในแถวแรกของกรอบข้อมูลที่ทำคะแนนได้ 12 คะแนนได้คะแนนรวม 12/99 = 12.12% ของคะแนนรวมของทีม A

ในทำนองเดียวกันผู้เล่นแถวที่สองในฐานข้อมูลที่ทำคะแนนได้ 29 คะแนนมีคะแนนรวม 29/99 = 29.29% ของคะแนนรวมของทีม A

และอื่นๆ

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

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

วิธีนับค่าที่ไม่ซ้ำตามกลุ่มใน R
วิธีคำนวณสถิติสรุปตามกลุ่มใน R
วิธีคำนวณผลรวมตามกลุ่มใน R

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

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