Jak dodać wiersz całkowity do ramki danych w r
Aby dodać wiersz „łączny” na dole ramki danych w R, możesz użyć następujących metod:
Metoda 1: Użyj podstawy R
rbind(df, data. frame (team=' Total ', t(colSums(df[, -1]))))
Metoda 2: użyj dplyr
library (dplyr) df %>% bind_rows(summarize(., across(where(is.numeric), sum), across(where(is.character), ~' Total ')))
Poniższy przykład pokazuje, jak w praktyce zastosować każdą metodę z następującą ramką danych:
#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
Przykład 1: Dodaj wiersz sumy, używając podstawy R
Możemy użyć funkcji rbind i colSums języka R base, aby dodać wiersz sumy na dole ramki danych:
#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
Zwróć uwagę, że na dole ramki danych dodano wiersz, który wyświetla sumę wartości w każdej kolumnie.
Przykład 2: Dodaj wiersz sumy za pomocą dplyr
Poniższy kod pokazuje, jak używać funkcji pakietu dplyr w R, aby dodać wiersz sumy na dole ramki danych:
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
Zwróć uwagę, że na dole ramki danych dodano wiersz, który wyświetla sumę wartości w każdej kolumnie.
Należy również pamiętać, że ta metoda daje takie same wyniki, jak podstawowa metoda R.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak używać rbind w R
Jak usunąć linie w R
Jak obliczyć różnicę między wierszami w R