Come eseguire il funzionamento di aggregazione con Groupby Max

Come eseguire il funzionamento di aggregazione con Groupby Max
In questo tutorial, vedremo come eseguire operazioni di aggregazione raggruppando i dati e restituendo i valori massimi nelle righe raggruppate.

Questa operazione deve essere eseguita su un frame di dati. Creiamo il frame dati con sette righe e cinque colonne.

#Crea un mercato dati che ha 7 righe e 5 colonne.
mercato = dati.frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_Place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restaurant',
'Grocery', 'bar', 'drogheria'), market_squarefeet = c (120.342.220.110.342.220.110))
#display il telaio di dati di mercato

Risultato

Ora restituiremo i valori massimi in una colonna raggruppando i valori simili in un'altra colonna.

Metodo 1: aggregato ()

Qui, utilizziamo la funzione aggregata () che prende i tre parametri.

Sintassi

Aggregate (DataFrame_Object $ raggruppato, elenco (dataframe_object $ raggruppamento), fun = max)

Parametri

  1. Il primo parametro prende la colonna variabile (raggruppata) che restituirà i valori massimi per gruppo.
  2. Il secondo parametro prende una colonna singola o multipla (raggruppamento) in un elenco in modo tale che i valori siano raggruppati in queste colonne.
  3. Il terzo parametro si diverte, il che richiederà la funzione Max per restituire i valori massimi nei valori raggruppati.

Esempio 1
In questo esempio, raggruppiamo i valori nella colonna Market_Place e otteniamo i valori massimi nella colonna Market_Squarefeet raggruppata dalla colonna Market_Place.

#Crea un mercato dati che ha 7 righe e 5 colonne.
mercato = dati.frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_Place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restaurant',
'Grocery', 'bar', 'drogheria'), market_squarefeet = c (120.342.220.110.342.220.110))
#tine il massimo dei piedi quadrati in gruppo raggruppando Market_Place
Print (Aggregate (Market $ Market_Squarefeet, List (Market $ Market_Place), Fun = Max))

Risultato

Possiamo vedere che i valori simili (Australia, India e USA) nella colonna Market_Place sono raggruppati e restituiscono il massimo dei valori raggruppati nella colonna Market_Square Feet.

Esempio 2
In questo esempio, raggruppiamo i valori nella colonna Market_Type e otteniamo i valori massimi nella colonna Market_Squarefeet raggruppata dalla colonna Market_Type.

#Crea un mercato dati che ha 7 righe e 5 colonne.
mercato = dati.frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_Place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restaurant',
'Grocery', 'bar', 'drogheria'), market_squarefeet = c (120.342.220.110.342.220.110))
#get il massimo dei piedi quadrati in gruppo raggruppando Market_Type
Print (aggregato (mercato $ market_squarefeet, elenco (mercato $ market_type), fun = max))

Risultato

Possiamo vedere che i valori simili (barra, drogheria e ristorante) nella colonna Market_Type sono raggruppati e restituiscono il massimo dei valori raggruppati nella colonna Market_Square Feet.

Esempio 3
In questo esempio, raggruppiamo i valori nelle colonne Market_Type e Market_Place e otteniamo i valori massimi nella colonna Market_Squarefeet raggruppata dalle colonne Market_Type e Market_Place.

#Crea un mercato dati che ha 7 righe e 5 colonne.
mercato = dati.frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_Place = C ('India', 'USA', 'India', 'Australia', 'USA',
'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery', 'Restaurant',
'Grocery', 'bar', 'drogheria'), market_squarefeet = c (120.342.220.110.342.220.110))
#get il massimo dei piedi quadrati in gruppo raggruppando Market_Place e Market_Type
Print (aggregato (mercato $ market_squarefeet, elenco (mercato $ market_place, mercato $ market_type), fun = max))

Risultato

Possiamo vedere che i valori simili da due colonne sono stati raggruppati e restituire i valori massimi in ciascun valore raggruppato nella colonna Market_Square Feet.

Metodo 2: dplyr

Qui, utilizziamo Group_By con Summarise_AT () che sono disponibili nella libreria DPLER per eseguire il Group_By con funzionamento massimo.

Sintassi

DataFrame_Object%>% Group_By (raggruppamento)%>% Sumpiise_at (vars (raggruppato), elenco (nome = max))

Dove:

  1. group_by () prende un parametro, i.e. colonna di raggruppamento
  2. Summarise_at () prende due parametri:
  1. Il primo parametro prende la colonna variabile (raggruppata) che restituisce i valori massimi per gruppo.
  2. Il secondo parametro prende la funzione Max attraverso l'elenco.

Infine, riassumiamo prima con Max e lo carichiamo in gruppo. Quindi, cariciamo la colonna raggruppata nell'oggetto dati.

Restituisce un Tibble.

Esempio 1
In questo esempio, raggruppiamo i valori nella colonna Market_Place e otteniamo i valori massimi nella colonna Market_Squarefeet raggruppata dalla colonna Market_Place.

libreria ("dplyr")
#tine il massimo dei piedi quadrati in gruppo raggruppando Market_Place
Stampa (Market %> %Group_by (Market_Place) %> %
Summarise_at (vars (market_squarefeet), elenco (name = max)))

Risultato

Possiamo vedere che i valori simili (Australia, India e USA) nella colonna Market_Place sono raggruppati e restituiscono il massimo da ciascun valore raggruppato nella colonna Market_Square Feet.

Esempio 2
In questo esempio, raggruppiamo i valori nella colonna Market_Type e otteniamo i valori massimi nella colonna Market_Squarefeet raggruppata dalla colonna Market_Type.

libreria ("dplyr")
#get il massimo dei piedi quadrati in gruppo raggruppando Market_Type
Stampa (Market %> %Group_by (Market_Type) %> %
Summarise_at (vars (market_squarefeet), elenco (name = max)))

Risultato

Possiamo vedere che i valori simili (barra, generi alimentari e ristoranti) nella colonna Market_Type sono raggruppati e restituiscono i valori massimi in ciascun valore raggruppato nella colonna Market_Square Feet.

Conclusione

È possibile raggruppare le colonne singole o più con altre colonne numeriche per restituire il valore massimo dalla colonna numerica usando la funzione aggregata (). Allo stesso modo, possiamo utilizzare la funzione GroupBy () con la funzione Summarise_AT () per raggruppare i valori simili in una colonna e restituire i valori massimi dai valori raggruppati rispetto a un'altra colonna.