วิธีเรียกใช้ฟังก์ชัน sumif ใน r


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

 aggregate(col_to_sum ~ col_to_group_by, data=df, sum )

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

 #create data frame
df <- data. frame (team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4),
                 blocks=c(1, 2, 2, 1, 0, 4, 1))

#view data frame
df

  team pts rebs blocks
1 to 5 8 1
2 to 8 8 2
3 b 14 9 2
4 b 18 3 1
5 b 5 8 0
6 c 7 7 4
7 c 7 4 1

ตัวอย่างที่ 1: เรียกใช้ฟังก์ชัน SUMIF ในคอลัมน์

รหัสต่อไปนี้แสดงวิธีการหาผลรวมคะแนนของแต่ละทีม:

 aggregate(pts ~ team, data=df, sum )

  team pts
1 to 13
2 b 37
3 v 14

ตัวอย่างที่ 2: เรียกใช้ฟังก์ชัน SUMIF บนหลายคอลัมน์

รหัสต่อไปนี้แสดงวิธีหาผลรวมของคะแนนและรีบาวด์ของแต่ละทีม:

 aggregate(cbind(pts, rebs) ~ team, data=df, sum )

team pts rebs
1 to 13 16
2 b 37 20
3 c 14 11

ตัวอย่างที่ 3: เรียกใช้ฟังก์ชัน SUMIF บนทุกคอลัมน์

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

 aggregate(.~team, data=df, sum )

  team pts rebs blocks
1 to 13 16 3
2 b 37 20 3
3 c 14 11 5

หมายเหตุ: จุด ( . ) ใช้ใน R เพื่อแสดงคอลัมน์ “ทั้งหมด”

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

วิธีเรียกใช้ฟังก์ชัน COUNTIF ใน R
วิธีรวมคอลัมน์เฉพาะใน R
วิธีรวมแถวเฉพาะใน R

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

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