คู่มือฉบับสมบูรณ์: วิธีใช้ฟังก์ชัน 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