วิธีรวมคอลัมน์ตามเงื่อนไขใน r


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

 #sum values in column 3 where col1 is equal to 'A'
sum(df[ which (df$col1==' A '), 3])

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

 #create data frame
df <- data. frame (conference = c('East', 'East', 'East', 'West', 'West', 'East'),
                 team = c('A', 'A', 'A', 'B', 'B', 'C'),
                 points = c(11, 8, 10, 6, 6, 5),
                 rebounds = c(7, 7, 6, 9, 12, 8))

#view data frame
df

  conference team points rebounds
1 East A 11 7
2 East A 8 7
3 East A 10 6
4 West B 6 9
5 West B 6 12
6 East C 5 8

ตัวอย่างที่ 1: เพิ่มคอลัมน์ตามเงื่อนไข

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

 #sum values in column 3 (points column) where team is equal to 'A'
sum(df[ which (df$team==' A '), 3])

[1] 29

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

 #sum values in column 4 (rebounds column) where points is greater than 9
sum(df[ which (df$points > 9), 4])

[1] 13

ตัวอย่างที่ 2: เพิ่มคอลัมน์ตามเงื่อนไขหลายข้อ

รหัสต่อไปนี้แสดงวิธีการค้นหาผลรวมของคอลัมน์คะแนนสำหรับแถวที่ทีมเท่ากับ “A” และ การประชุมเท่ากับ “ตะวันออก”:

 #sum values in column 3 (points column) where team is 'A' and conference is 'East'
sum(df[ which (df$team==' A ' & df$conference==' East '), 3])

[1] 29

โปรดทราบว่าตัวดำเนินการ & หมายถึง “และ” ใน R

ตัวอย่างที่ 3: เพิ่มคอลัมน์ตามเงื่อนไขข้อใดข้อหนึ่ง

รหัสต่อไปนี้แสดงวิธีการหาผลรวมของคอลัมน์คะแนนสำหรับแถวที่ทีมเท่ากับ “A” หรือ “C”:

 #sum values in column 3 (points column) where team is 'A' or 'C'
sum(df[ which (df$team == ' A ' | df$team ==' C '), 3])

[1] 34

โปรดทราบว่า | โอเปอเรเตอร์หมายถึง “หรือ” ใน R

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

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

วิธีรวมคอลัมน์เฉพาะใน R
วิธีรวมแถวเฉพาะใน R
วิธีคำนวณผลรวมตามกลุ่มใน R

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

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