Come aggiungere una riga totale a un frame di dati in r


È possibile utilizzare i seguenti metodi per aggiungere una riga “totale” alla fine di un frame di dati in R:

Metodo 1: utilizzare Base R

 rbind(df, data. frame (team=' Total ', t(colSums(df[, -1]))))

Metodo 2: usa dplyr

 library (dplyr)

df %>%
  bind_rows(summarize(., across(where(is.numeric), sum),
                         across(where(is.character), ~' Total ')))

L’esempio seguente mostra come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #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

Esempio 1: aggiungi una riga totale utilizzando la base R

Possiamo utilizzare le funzioni rbind e colSums di R base per aggiungere una riga totale nella parte inferiore del frame di dati:

 #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

Tieni presente che è stata aggiunta una riga nella parte inferiore del frame dati che mostra la somma dei valori in ciascuna colonna.

Esempio 2: aggiungi una riga totale utilizzando dplyr

Il codice seguente mostra come utilizzare le funzioni del pacchetto dplyr in R per aggiungere una riga totale alla fine del frame di dati:

 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

Tieni presente che è stata aggiunta una riga nella parte inferiore del frame dati che mostra la somma dei valori in ciascuna colonna.

Si noti inoltre che questo metodo produce gli stessi risultati del metodo base R.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come usare rbind in R
Come eliminare le righe in R
Come calcolare la differenza tra le righe in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *