วิธีเพิ่มแถวเฉพาะใน r: พร้อมตัวอย่าง
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเพิ่มแถวเฉพาะของกรอบข้อมูลใน R:
with (df, sum (column_1[column_2 == ' some value ']))
ไวยากรณ์นี้ค้นหาผลรวมแถวของคอลัมน์ 1 โดยที่คอลัมน์ 2 เท่ากับค่า โดยที่เฟรมข้อมูลเรียกว่า df
บทช่วยสอนนี้ให้ตัวอย่างหลายตัวอย่างเกี่ยวกับวิธีใช้งานฟังก์ชันนี้กับกรอบข้อมูลต่อไปนี้:
#create data frame
df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'C'),
points = c(4, 7, 8, 8, 8, 9, 12),
rebounds = c(3, 3, 4, 4, 6, 7, 7))
#view data frame
df
team points rebounds
1 to 4 3
2 to 7 3
3 B 8 4
4 B 8 4
5 B 8 6
6 C 9 7
7 C 12 7
ตัวอย่างที่ 1: เพิ่มแถวตามค่าคอลัมน์
รหัสต่อไปนี้แสดงวิธีค้นหาผลรวมของแถวทั้งหมดในคอลัมน์คะแนนโดยที่ทีมเท่ากับ C:
#find sum of points where team is equal to 'C' with (df, sum (points[team == ' C '])) [1] 21
และโค้ดต่อไปนี้แสดงวิธีค้นหาผลรวมของแถวทั้งหมดในคอลัมน์ตีกลับโดยที่ค่าของคอลัมน์คะแนนมากกว่า 7:
#find sum of rebounds where points is greater than 7 with (df, sum (rebounds[points > 7])) [1] 28
ตัวอย่างที่ 2: เพิ่มแถวตามค่าของหลายคอลัมน์
รหัสต่อไปนี้แสดงวิธีการค้นหาผลรวมของแถวในคอลัมน์รีบาวน์โดยที่ค่าคอลัมน์คะแนนน้อยกว่า 8 หรือ ค่าคอลัมน์ทีมเท่ากับ C:
with (df, sum (rebounds[points < 8 | team == ' C '])) [1] 20
และโค้ดต่อไปนี้แสดงวิธีหาผลรวมของแถวในคอลัมน์รีบาวด์ โดยที่ค่าในคอลัมน์คะแนนน้อยกว่า 10 และ ค่าในคอลัมน์ทีมเท่ากับ B:
with (df, sum (rebounds[points < 10 & team == ' B '])) [1] 14
แหล่งข้อมูลเพิ่มเติม
วิธีจัดเรียงเส้นใน R
วิธีลบบรรทัดที่ซ้ำกันใน R
วิธีลบแถวที่มี NA บางส่วนหรือทั้งหมดใน R