In diesem R -Tutorial werden wir sehen, wie man Aggregationsvorgänge durchführt, indem die Daten gruppieren und die maximalen Werte in den gruppierten Zeilen zurückgegeben werden.
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
Ergebnis
Jetzt werden wir die maximalen Werte in einer Spalte zurückgeben, indem wir die ähnlichen Werte in einer anderen Spalte gruppieren.
Methode 1: Aggregat ()
Hier verwenden wir die Aggregate () -Funktion, die die drei Parameter übernimmt.
Syntax
Aggregat (DataFrame_Object $ grupped, list (DataFrame_Object $ grupping), fun = max)
Parameter
- Der erste Parameter übernimmt die variable Spalte (gruppiert), die die maximalen Werte pro Gruppe zurückgibt.
- Der zweite Parameter enthält eine einzelne oder mehrere Spalte (Gruppierung) in einer Liste, sodass die Werte in diesen Spalten gruppiert sind.
- Der dritte Parameter macht Spaß, was die MAX -Funktion benötigt, um die maximalen Werte in den gruppierten Werten zurückzugeben.
Beispiel 1
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_place und erhalten die maximalen Werte in der Spalte Market_Squarefeet, die nach der Spalte 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 das Maximum der Quadratfuß in der Gruppe, indem Sie Market_place gruppieren
print (aggregat (markt $ markt_squarefeet, Liste (markt $ markt_place), fun = max))
Ergebnis
Wir sehen.
Beispiel 2
In diesem Beispiel gruppieren wir die Werte in der Spalte markt_type und erhalten die maximalen Werte in der Spalte Market_Squarefeet, die von 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 das Maximum der Quadratfuß in der Gruppe, indem Sie Market_Type gruppieren
print (aggregat (markt $ markt_squarefeet, Liste (markt $ markt_type), fun = max)))
Ergebnis
Wir sehen.
Beispiel 3
In diesem Beispiel gruppieren wir die Werte in den Spalten Market_type und Market_place und erhalten die maximalen Werte 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 das Maximum 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), Fun = max)))
Ergebnis
Wir können sehen, dass die ähnlichen Werte aus zwei Spalten gruppiert wurden und die maximalen Werte in jedem gruppierten Wert in der Spalte Market_Square Fuß.
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 der maximalen Operation durchzuführen.
Syntax
DataFrame_Object%>% Group_by (Gruppierung)%>% summarise_at (vars (gruppiert), list (name = max))
Wo:
- Group_By () nimmt einen Parameter, i.e. Gruppierungsspalte
- summarise_at () nimmt zwei Parameter vor:
- Der erste Parameter übernimmt die variable Spalte (gruppiert), die die maximalen Werte pro Gruppe zurückgibt.
- Der zweite Parameter führt die MAX -Funktion durch die Liste.
Schließlich fassen wir zuerst mit max zusammen und laden es 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 maximalen Werte in der Spalte Market_Squarefeet, die nach der Spalte Market_place gruppiert sind.
Bibliothek ("Dplyr")
#Greifen Sie das Maximum der Quadratfuß in der Gruppe, indem Sie Market_place gruppieren
drucken (markt %> %Group_by (markt_place) %> %
summarise_at (vars (markt_squarefeet), list (name = max)))
Ergebnis
Wir sehen.
Beispiel 2
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_type und erhalten die maximalen Werte in der Spalte Market_Squarefeet, die nach der Spalte Market_type gruppiert sind.
Bibliothek ("Dplyr")
#Greifen Sie das Maximum der Quadratfuß in der Gruppe, indem Sie Market_Type gruppieren
Print (Market %> %Group_by (markt_type) %> %
summarise_at (vars (markt_squarefeet), list (name = max)))
Ergebnis
Wir sehen.
Abschluss
Es ist möglich, die einzelnen oder mehrere Spalten mit anderen numerischen Spalten zu gruppieren, um den Maximalwert aus 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 die maximalen Werte in Bezug auf eine andere Spalte aus den gruppierten Werten zurückzugeben.