Comment effectuer une opération d'agrégation avec une médiane groupby

Comment effectuer une opération d'agrégation avec une médiane groupby
Dans ce didacticiel R, nous verrons comment effectuer les opérations d'agrégation en regroupant les données et en renvoyant la médiane dans les lignes groupées.

Cette opération doit être effectuée sur un dataframe. Créons le dataframe avec sept lignes et cinq colonnes.

#Create un marché de dataframe qui a 7 lignes et 5 colonnes.
Marché = données.cadre (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', 'Inde', 'Australie', 'USA',
«Inde», «Australie»), Market_Type = C («Épicerie», «Bar», «Épicerie», «Restaurent»,
«Épicerie», «bar», «épicerie»), Market_Squarefeet = C (120 342 220,110,342,220,110))
#Display le marché DataFrame
Impression (marché)

Résultat

Maintenant, nous retournerons la médiane dans une colonne en regroupant les valeurs similaires dans une autre colonne.

Méthode 1: agrégat ()

Ici, nous utilisons la fonction agrégate () qui prend trois paramètres.

Syntaxe

agrégat (dataframe_object $ groupé, liste (dataframe_object $ groupement), fun = médian)

Paramètres

  1. Le premier paramètre prend la colonne variable (groupée) qui renvoie la médiane par groupe.
  2. Le deuxième paramètre prend une colonne unique ou multiple (regroupement) dans une liste telle que les valeurs sont regroupées dans ces colonnes.
  3. Le troisième paramètre prend le plaisir, ce qui prend la fonction médiane pour retourner la médiane dans les valeurs groupées.

Exemple 1
Dans cet exemple, nous regroupons les valeurs de la colonne Market_place et obtenons la médiane dans la colonne Market_SquareFeet regroupée par la colonne Market_Place.

#Create un marché de dataframe qui a 7 lignes et 5 colonnes.
Marché = données.cadre (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', 'Inde', 'Australie', 'USA',
«Inde», «Australie»), Market_Type = C («Épicerie», «Bar», «Épicerie», «Restaurent»,
«Épicerie», «bar», «épicerie»), Market_Squarefeet = C (120 342 220,110,342,220,110))
#get la médiane des pieds carrés en groupe en regroupant Market_place
Imprimer (agrégat (Market $ Market_Squarefeet, List (Market $ Market_Place), Fun = Median)))

Résultat

Nous pouvons voir que les valeurs similaires (Australie, Inde et USA) dans la colonne Market_Place sont regroupées et renvoyaient la médiane des valeurs groupées dans la colonne Market_Square Feet.

Exemple 2
Dans cet exemple, nous regroupons les valeurs de la colonne Market_Type et obtenons la médiane dans la colonne Market_SquareFeet regroupée par la colonne Market_Type.

#Create un marché de dataframe qui a 7 lignes et 5 colonnes.
Marché = données.cadre (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', 'Inde', 'Australie', 'USA',
«Inde», «Australie»), Market_Type = C («Épicerie», «Bar», «Épicerie», «Restaurent»,
«Épicerie», «bar», «épicerie»), Market_Squarefeet = C (120 342 220,110,342,220,110))
#St la médiane des pieds carrés en groupe en regroupant Market_Type
Imprimer (agrégat (Market $ Market_SquareFeet, List (Market $ Market_Type), Fun = Median))

Résultat

Nous pouvons voir que les valeurs similaires (bar, épicerie et restauration) dans la colonne Market_Type sont regroupées et renvoyaient la médiane des valeurs groupées dans la colonne Market_Square Feet.

Exemple 3
Dans cet exemple, nous regroupons les valeurs dans les colonnes Market_Type et Market_Place et obtenons la médiane dans la colonne Market_SquareFeet regroupée par les colonnes Market_Type et Market_Place.

#Create un marché de dataframe qui a 7 lignes et 5 colonnes.
Marché = données.cadre (Market_ID = C (1,2,1,4,3,4,5), Market_Name = C ('M1', 'M2', 'M3', 'M4', 'M3',
«M4», «M3»), Market_Place = C («Inde», «USA», «Inde», «Australie», «USA», «Inde», «Australie»),
Market_Type = C ('Grocery', 'Bar', 'Grocery', 'restaurent', 'Grocery', 'Bar', 'Grocery'),
Market_SquareFeet = C (120,342,220,110,342,220,110))
#get la médiane des pieds carrés en groupe en regroupant Market_place et Market_Type
Imprimer (agrégat (Market $ Market_Squarefeet, List (Market $ Market_Place, Market $ Market_Type), Fun = Median))

Résultat

Nous pouvons voir que les valeurs similaires des deux colonnes ont été regroupées et ont rendu la médiane dans chaque valeur groupée dans la colonne Market_Square Feet.

Méthode 2: dplyr

Ici, nous utilisons la fonction Group_By () avec SumMarise_at () qui sont disponibles dans la bibliothèque DPLYR pour effectuer la fonction Group_By () avec l'opération médiane.

Syntaxe

dataframe_object%>% group_by (groupement)%>% summarise_at (varS (groupé), list (name = median)))

Où:

  1. group_by () prend un paramètre, je.e. colonne de regroupement
  2. SumMarise_at () prend deux paramètres:
  1. Le premier paramètre prend la colonne variable (groupée) qui renvoie la médiane par groupe.
  2. Le deuxième paramètre prend la fonction médiane à travers la liste.

Enfin, nous résumons d'abord avec la médiane et le chargeons dans le groupe. Ensuite, nous chargeons la colonne groupée dans l'objet DataFrame.

Il renvoie un tibble.

Exemple 1
Dans cet exemple, nous regroupons les valeurs de la colonne Market_place et obtenons la médiane dans la colonne Market_SquareFeet regroupée par la colonne Market_Place.

bibliothèque ("dplyr")
#get la médiane des pieds carrés en groupe en regroupant Market_place
Imprimer (Market%>% Group_By (Market_Place)%>% SumMarise_at (VARS (Market_SquareFeet), List (Name = Median))))

Résultat

Nous pouvons voir que les valeurs similaires (Australie, Inde et USA) dans la colonne Market_Place sont regroupées et renvoyaient la médiane de chaque valeur groupée dans la colonne Market_Square Feet.

Exemple 2
Dans cet exemple, nous regroupons les valeurs de la colonne Market_Type et obtenons la médiane dans la colonne Market_SquareFeet regroupée par la colonne Market_Type.

bibliothèque ("dplyr")
#St la médiane des pieds carrés en groupe en regroupant Market_Type
Imprimer (Market%>% Group_By (Market_Type)%>% SumMarise_at (VARS (Market_SquareFeet), List (Name = Median))))

Résultat

Nous pouvons voir que les valeurs similaires (bar, épicerie et restaurant) dans la colonne Market_Type sont regroupées et renvoyaient la médiane dans chaque valeur groupée dans la colonne Market_Square Feet.

Conclusion

Il est possible de regrouper les colonnes simples ou multiples avec les autres colonnes numériques pour retourner la médiane de la colonne numérique à l'aide de la fonction agrégate (). De même, nous pouvons utiliser la fonction groupBy () avec la fonction SumMarise_at () pour regrouper les valeurs similaires dans une colonne et renvoyer la médiane des valeurs groupées par rapport à une autre colonne.