Come combinare righe con gli stessi valori di colonna in r


È possibile utilizzare la seguente sintassi di base per combinare righe con gli stessi valori di colonna in un frame di dati in R:

 library (dplyr)

df %>%
  group_by(group_var1, group_var2) %>%
  summarise(across(c(values_var1, values_var2), sum))

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: combina righe con gli stessi valori di colonna in R

Supponiamo di avere il seguente frame di dati contenente informazioni sulle vendite e sui resi effettuati da vari dipendenti di un’azienda:

 #create data frame
df <- data. frame (id=c(101, 101, 102, 103, 103, 103),
                 employee=c('Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'),
                 sales=c(4, 1, 3, 2, 5, 3),
                 returns=c(1, 2, 2, 1, 3, 2))

#view data frame
df

   id employee sales returns
1 101 Dan 4 1
2 101 Dan 1 2
3 102 Rick 3 2
4 103 Ken 2 1
5 103 Ken 5 3
6 103 Ken 3 2

Possiamo utilizzare la seguente sintassi per combinare le righe che hanno lo stesso valore nelle colonne id e Employee , quindi aggregare le colonne rimanenti:

 library (dplyr)

#combine rows with same value for id and employee and aggregate remaining columns
df %>%
  group_by(id, employee) %>%
  summarise(across(c(sales, returns), sum))

# A tibble: 3 x 4
#Groups: id[3]
     id employee sales returns
          
1 101 Dan 5 3
2 102 Rick 3 2
3 103 Ken 10 6

Il risultato è un data frame che combina tutte le righe del data frame originale che avevano lo stesso valore nelle colonne ID ed Employee , quindi calcola la somma dei valori nelle colonne Sales e Returns .

Nota : scegliamo di aggregare le colonne delle vendite e dei resi utilizzando la funzione di somma , ma puoi aggregare con un’altra metrica, come la media, se lo desideri.

Correlati: come utilizzare la funzione across() in dplyr

Risorse addizionali

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

Come combinare elenchi in R
Come combinare due vettori in R
Come combinare due frame di dati in R con colonne diverse

Aggiungi un commento

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