คู่มือฉบับสมบูรณ์: วิธีใช้ฟังก์ชัน aggregate() ใน r


ฟังก์ชัน Aggregate() ใน R สามารถใช้คำนวณสถิติสรุปสำหรับชุดข้อมูลได้

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

รวม (x, โดย, FUN)

ทอง:

  • x : ตัวแปรที่จะรวม
  • โดย : รายการตัวแปรที่จะจัดกลุ่มตาม
  • FUN : สถิติสรุปในการคำนวณ

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'G', 'F', 'F'),
                 points=c(99, 90, 86, 88, 95, 99),
                 assists=c(33, 28, 31, 39, 34, 23),
                 rebounds=c(30, 28, 24, 24, 28, 33))

#view data frame
df

  team position points assists rebounds
1 AG 99 33 30
2 AG 90 28 28
3 AF 86 31 24
4 BG 88 39 24
5 BF 95 34 28
6 BF 99 23 33

ตัวอย่างที่ 1: ค่าเฉลี่ยโดยรวมต่อกลุ่ม

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Aggregate() เพื่อคำนวณจำนวนคะแนนเฉลี่ยต่อทีม:

 #find mean points by team
aggregate(df$points, by=list(df$team), FUN=mean)

  Group.1 x
1 A 91.66667
2 B 94.00000

สิ่งนี้บอกเรา:

  • ผู้เล่นทีม A ทำคะแนนเฉลี่ย 91.67 แต้มต่อเกม
  • ผู้เล่นทีม B ทำคะแนนเฉลี่ย 94 แต้มต่อเกม

โปรดทราบว่าคุณยังสามารถเปลี่ยนชื่อคอลัมน์ในเอาต์พุตได้โดยใช้ฟังก์ชัน colnames() :

 #find mean points by team
agg <- aggregate(df$points, by=list(df$team), FUN=mean)

#rename columns in output
colnames(agg) <- c(' Team ', ' Mean_Points ')

#viewoutput
agg

  Team Mean_Points
1 A 91.66667
2 B 94.00000

ตัวอย่างที่ 2: บัญชีรวมตามกลุ่ม

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Aggregate() เพื่อนับจำนวนผู้เล่นต่อทีม:

 #count number of players per team
aggregate(df$points, by=list(df$team), FUN=length)

  Group.1 x
1 to 3
2 B 3

สิ่งนี้บอกเรา:

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

ตัวอย่างที่ 3: ผลรวมโดยรวมต่อกลุ่ม

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Aggregate() เพื่อคำนวณผลรวมคะแนนที่แต่ละทีมทำได้:

 #find sum of points scored by team
aggregate(df$points, by=list(df$team), FUN=sum)

  Group.1 x
1 to 275
2 B 282

สิ่งนี้บอกเรา:

  • ทีม A มีคะแนนรวม 275 คะแนน
  • ทีม B มีคะแนนรวม 282 คะแนน

ตัวอย่างที่ 4: รวมหลายคอลัมน์

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Aggregate() เพื่อค้นหาจำนวนคะแนนเฉลี่ยที่ทำได้ โดยจัดกลุ่มตามทีมและตำแหน่ง:

 #find mean of points scored, grouped by team and position
aggregate(df$points, by=list(df$team, df$position), FUN=mean)

  Group.1 Group.2 x
1AF 86.0
2 BF 97.0
3 AG 94.5
4 BG 88.0

สิ่งนี้บอกเรา:

  • ผู้เล่นในตำแหน่ง “F” ของทีม A ได้คะแนนเฉลี่ย 86 คะแนน
  • ผู้เล่นตำแหน่ง “F” ของทีม B ทำคะแนนเฉลี่ย 97 คะแนน
  • ผู้เล่นในตำแหน่ง “G” ของทีม A ทำคะแนนเฉลี่ย 94.5 คะแนน
  • ผู้เล่นในตำแหน่ง “G” ของทีม B ได้คะแนนเฉลี่ย 88 คะแนน

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

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

วิธีใช้ฟังก์ชัน table() ใน R
วิธีใช้ฟังก์ชัน gsub() ใน R
วิธีใช้ฟังก์ชัน summary() ใน R

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

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