Wie man den Aggregationsoperation mit Groupby Median durchführt

Wie man den Aggregationsoperation mit Groupby Median 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 werden wir den Median 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 drei Parameter erfordert.

Syntax

Aggregat (DataFrame_Object $ grupped, list (DataFrame_Object $ grupping), fun = median)

Parameter

  1. Der erste Parameter übernimmt die variable Spalte (gruppiert), die den Median 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ß, was die Medianfunktion benötigt, um den Median in den gruppierten Werten zurückzugeben.

Beispiel 1
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_place und erhalten den Median in der Spalte Market_Squarefeet, die von 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))
#Geben Sie den Median der Quadratfuß in der Gruppe durch Gruppierung markt_place ein
print (aggregat (markt $ markt_squarefeet, Liste (markt $ markt_place), spaß = median))

Ergebnis

Wir sehen.

Beispiel 2
In diesem Beispiel gruppieren wir die Werte in der Spalte Market_type und erhalten den Median 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))
#Geben Sie den Median der Quadratfuß in der Gruppe durch Gruppierung markt_type
print (aggregat (markt $ markt_squarefeet, Liste (markt $ markt_type), fun = median))

Ergebnis

Wir sehen.

Beispiel 3
In diesem Beispiel gruppieren wir die Werte in den Spalten Market_type und Market_place und erhalten den Median 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', 'Lebensmittelgeschäft', 'Restaurant', 'Corrocery', 'Bar', 'Corrocery'),
markt_squarefeet = c (120.342,220,110,342,220,110))
#Get The Median of Quadrat Flecken in der Gruppe durch Gruppierung markt_place und markt_type
print (aggregiert (markt $ markt_squarefeet, Liste (markt $ markt_place, markt $ markt_type), fun = median)))

Ergebnis

Wir sehen.

Methode 2: DPLYR

Hier verwenden wir die Funktion Group_By () mit summarise_at () -Funktion, die in der DPLYR -Bibliothek verfügbar sind.

Syntax

DataFrame_Object%>% Group_by (Gruppierung)%>% summariis_at (vars (gruppiert), list (name = median))

Wo:

  1. Group_By () nimmt einen Parameter, i.e. Gruppierungsspalte
  2. summarise_at () nimmt zwei Parameter vor:
  1. Der erste Parameter übernimmt die variable Spalte (gruppiert), die den Median pro Gruppe zurückgibt.
  2. Der zweite Parameter führt die mittlere Funktion durch die Liste.

Schließlich fassen wir zuerst mit dem Median zusammen und laden ihn 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 den Median in der Spalte Market_Squarefeet, die von der Spalte Market_place gruppiert sind.

Bibliothek ("Dplyr")
#Geben Sie den Median der Quadratfuß in der Gruppe durch Gruppierung markt_place ein
print (markt %> % Group_by (markt_place) %> % summarise_at (vars (markt_squarefeet), list (name = median)))

Ergebnis

Wir sehen.

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

Bibliothek ("Dplyr")
#Geben Sie den Median der Quadratfuß in der Gruppe durch Gruppierung markt_type
print (markt %> % Group_by (markt_type) %> % summarise_at (vars (markt_squarefeet), list (name = median)))

Ergebnis

Wir sehen.

Abschluss

Es ist möglich, die einzelnen oder mehrere Spalten mit den anderen numerischen Spalten zu gruppieren, um den Median 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 den Median in Bezug auf eine andere Spalte aus den gruppierten Werten zurückzugeben.