Wie man Aggregationsoperation mit Groupby -Mittel durchführt

Wie man Aggregationsoperation mit Groupby -Mittel durchführt
In diesem R -Tutorial werden wir sehen.

Dieser Vorgang muss auf einem Datenrahmen durchgeführt werden. Erstellen wir den DataFrame mit sieben Zeilen und fünf Spalten.

#create einen DataFrame-Market mit 7 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,1,4,3,4,5), markt_name = c ('M1', 'M2', 'M3' ',
'M4', 'M3', 'M4', 'M3'), markt_place = c ('Indien', 'USA', 'Indien', 'Australien', 'USA' ',
'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Grocery', 'Restaurantent',
"Lebensmittelgeschäft", "Bar", "Lebensmittelgeschäft"), Market_Squarefeet = C (120.342,220,110.342,220,110))
#Display der Marktdatenrahmen
Druck (Markt)

Ergebnis

Jetzt geben wir die Durchschnittswerte einer Spalte zurück, indem wir die ähnlichen Werte in einer anderen Spalte gruppieren.

Methode 1: Aggregat ()

Hier verwenden wir die Aggregate () -Funktion, die drei Parameter erfordert.

Syntax

Aggregat (DataFrame_Object $ grupped, list (DataFrame_Object $ grupping), Fun = Mean)

Parameter

  1. Der erste Parameter übernimmt die variable Spalte (gruppiert), die die Mittelwerte pro Gruppe zurückgibt.
  2. Der zweite Parameter enthält eine einzelne oder mehrere Spalte (Gruppierung) in einer Liste, sodass die Werte in diesen Spalten gruppiert sind.
  3. Der dritte Parameter macht Spaß, der die mittlere Funktion nimmt, um den Durchschnitt der gruppierten Werte zurückzugeben.

Beispiel 1
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_place und erhalten die Durchschnittswerte in der Spalte Market_Squarefeet, die von der Spalte markt_place gruppiert sind.

#create einen DataFrame-Market mit 7 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,1,4,3,4,5), markt_name = c ('M1', 'M2', 'M3' ',
'M4', 'M3', 'M4', 'M3'), markt_place = c ('Indien', 'USA', 'Indien', 'Australien', 'USA' ',
'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Grocery', 'Restaurantent',
"Lebensmittelgeschäft", "Bar", "Lebensmittelgeschäft"), Market_Squarefeet = C (120.342,220,110.342,220,110))
#Greifen Sie den Durchschnitt der Quadratfuß in der Gruppe, indem Sie Market_place gruppieren
print (aggregiert (markt $ markt_squarefeet, Liste (markt $ markt_place), fun = mean)))

Ergebnis

Wir sehen.

Beispiel 2
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_type und erhalten die Durchschnittswerte in der Spalte Market_Squarefeet, die nach der Spalte Market_type gruppiert sind.

#create einen DataFrame-Market mit 7 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,1,4,3,4,5), markt_name = c ('M1', 'M2', 'M3' ',
'M4', 'M3', 'M4', 'M3'), markt_place = c ('Indien', 'USA', 'Indien', 'Australien', 'USA' ',
'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Grocery', 'Restaurantent',
"Lebensmittelgeschäft", "Bar", "Lebensmittelgeschäft"), Market_Squarefeet = C (120.342,220,110.342,220,110))
#Greifen Sie den Durchschnitt der Quadratfuß in der Gruppe, indem Sie Market_Type gruppieren
print (aggregat (markt $ markt_squarefeet, Liste (markt $ markt_type), fun = mean)))

Ergebnis

Wir sehen.

Beispiel 3
In diesem Beispiel gruppieren wir die Werte in den Spalten Market_type und Market_place und erhalten die Durchschnittswerte in der Spalte Market_Squarefeet, die von den Spalten Market_Type und Market_place gruppiert sind.

#create einen DataFrame-Market mit 7 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,1,4,3,4,5), markt_name = c ('M1', 'M2', 'M3' ',
'M4', 'M3', 'M4', 'M3'), markt_place = c ('Indien', 'USA', 'Indien', 'Australien', 'USA' ',
'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Grocery', 'Restaurantent',
"Lebensmittelgeschäft", "Bar", "Lebensmittelgeschäft"), Market_Squarefeet = C (120.342,220,110.342,220,110))
#Greifen Sie den Durchschnitt der Quadratfuß in der Gruppe, indem Sie Market_place und Market_Type gruppieren
print (aggregiert (markt $ markt_squarefeet, Liste (markt $ markt_place, markt $ markt_type), spaß = mean)))

Ergebnis

Wir sehen.

Methode 2: DPLYR

Hier verwenden wir den Group_By mit summarise_at (), die in der DPLYR -Bibliothek verfügbar sind, um den Group_By mit dem mittleren Vorgang auszuführen.

Syntax

DataFrame_Object%>% Group_by (Gruppierung)%>% Summarise_at (VARS (gruppiert), Liste (Name = Mittelwert))

Wo:

Group_By () nimmt einen Parameter, i.e. Gruppierungsspalte

summarise_at () nimmt zwei Parameter vor:

  1. Der erste Parameter übernimmt die variable Spalte (gruppiert), die die Mittelwerte pro Gruppe zurückgibt.
  2. Der zweite Parameter führt die mittlere Funktion durch die Liste.

Schließlich fassen wir zuerst mit dem Mittelwert zusammen und laden in die Gruppe. Dann laden wir die gruppierte Spalte in das DataFrame -Objekt.

Es gibt ein Tibble zurück.

Beispiel 1
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_place und erhalten die Durchschnittswerte in der Spalte Market_Squarefeet, die von der Spalte markt_place gruppiert sind.

Bibliothek ("Dplyr")
#Greifen Sie den Durchschnitt der Quadratfuß in der Gruppe, indem Sie Market_place gruppieren
drucken (markt %> %Group_by (markt_place) %> %
summarise_at (vars (markt_squarefeet), list (name = Mean)))

Ergebnis

Wir sehen.

Beispiel 2
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_type und erhalten die Durchschnittswerte in der Spalte Market_Squarefeet, die nach der Spalte Market_type gruppiert sind.

Bibliothek ("Dplyr")
#Greifen Sie den Durchschnitt der Quadratfuß in der Gruppe, indem Sie Market_Type gruppieren
Print (Market %> %Group_by (markt_type) %> %
summarise_at (vars (markt_squarefeet), list (name = Mean)))

Ergebnis

Wir sehen.

Abschluss

Es ist möglich, die einzelnen oder mehrere Spalten mit anderen numerischen Spalten zu gruppieren, um den Mittelwert der numerischen Spalte mit der Funktion aggregat () zurückzugeben. In ähnlicher Weise können wir die Funktion GroupBy () mit der Funktion summarise_at () verwenden, um die ähnlichen Werte in einer Spalte zu gruppieren und den Durchschnitt der gruppierten Werte in Bezug auf eine andere Spalte zurückzugeben.