วิธีเพิ่มแถวทั้งหมดให้กับ data frame ใน r
คุณสามารถใช้วิธีการต่อไปนี้เพื่อเพิ่มแถว “ผลรวม” ที่ด้านล่างของกรอบข้อมูลใน R:
วิธีที่ 1: ใช้ Base R
rbind(df, data. frame (team=' Total ', t(colSums(df[, -1]))))
วิธีที่ 2: ใช้ dplyr
library (dplyr) df %>% bind_rows(summarize(., across(where(is.numeric), sum), across(where(is.character), ~' Total ')))
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F'), assists=c(5, 7, 7, 9, 12, 9), rebounds=c(11, 8, 10, 6, 6, 5), blocks=c(6, 6, 3, 2, 7, 9)) #view data frame df team assists rebound blocks 1 to 5 11 6 2 B 7 8 6 3 C 7 10 3 4 D 9 6 2 5 E 12 6 7 6 F 9 5 9
ตัวอย่างที่ 1: เพิ่มแถวผลรวมโดยใช้ฐาน R
เราสามารถใช้ฟังก์ชัน rbind และ colSums ของฐาน R เพื่อเพิ่มแถวทั้งหมดที่ด้านล่างของกรอบข้อมูล:
#add total row to data frame df_new <- rbind(df, data. frame (team=' Total ', t(colSums(df[, -1])))) #view new data frame df_new team assists rebound blocks 1 to 5 11 6 2 B 7 8 6 3 C 7 10 3 4 D 9 6 2 5 E 12 6 7 6 F 9 5 9 7 Total 49 46 33
โปรดทราบว่ามีการเพิ่มแถวที่ด้านล่างของกรอบข้อมูลที่แสดงผลรวมของค่าในแต่ละคอลัมน์
ตัวอย่างที่ 2: เพิ่มแถวผลรวมโดยใช้ dplyr
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันแพ็คเกจ dplyr ใน R เพื่อเพิ่มแถวทั้งหมดที่ด้านล่างของกรอบข้อมูล:
library (dplyr) #add total row to data frame df_new <- df %>% bind_rows(summarize(., across(where(is.numeric), sum), across(where(is.character), ~' Total '))) #view new data frame df_new team assists rebound blocks 1 to 5 11 6 2 B 7 8 6 3 C 7 10 3 4 D 9 6 2 5 E 12 6 7 6 F 9 5 9 7 Total 49 46 33
โปรดทราบว่ามีการเพิ่มแถวที่ด้านล่างของกรอบข้อมูลที่แสดงผลรวมของค่าในแต่ละคอลัมน์
โปรดทราบว่าวิธีนี้ให้ผลลัพธ์เหมือนกับวิธี R พื้นฐาน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีใช้ rbind ใน R
วิธีลบบรรทัดใน R
วิธีคำนวณความแตกต่างระหว่างแถวใน R