Comment effectuer une opération d'agrégation avec Groupby Mean

Comment effectuer une opération d'agrégation avec Groupby Mean
Dans ce didacticiel R, nous verrons comment effectuer les opérations d'agrégation en regroupant les données et en renvoyant les valeurs moyennes pour 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 renvoyons les valeurs moyennes d'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 = moyenne)

Paramètres

  1. Le premier paramètre prend la colonne variable (groupée) qui renvoie les valeurs moyennes 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 moyenne pour retourner la moyenne sur les valeurs groupées.

Exemple 1
Dans cet exemple, nous regroupons les valeurs de la colonne Market_Place et obtenons les valeurs moyennes dans la colonne Market_SquareFeet regroupées 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 moyenne des pieds carrés en groupe en regroupant Market_place
Imprimer (agrégat (Market $ Market_Squarefeet, List (Market $ Market_Place), Fun = Mean)))

Résultat

Nous pouvons voir que les valeurs similaires (Australie, Inde et USA) dans la colonne Market_Place sont regroupées et renvoyaient la moyenne 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 les valeurs moyennes dans la colonne Market_SquareFeet groupées 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))
#get la moyenne des pieds carrés en groupe en regroupant Market_Type
Imprimer (agrégat (Market $ Market_Squarefeet, List (Market $ Market_Type), Fun = Mean))

Résultat

Nous pouvons voir que les valeurs similaires (bar, épicerie et restauration) dans la colonne Market_Type sont regroupées et renvoyaient la moyenne 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 les valeurs moyennes de la colonne Market_Squarefeet regroupées 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 ('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 moyenne 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 = Mean))

Résultat

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

Méthode 2: dplyr

Ici, nous utilisons le groupe_by avec SumMarise_at () qui sont disponibles dans la bibliothèque DPLYR pour effectuer le groupe_by avec l'opération moyenne.

Syntaxe

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

Où:

group_by () prend un paramètre, je.e. colonne de regroupement

SumMarise_at () prend deux paramètres:

  1. Le premier paramètre prend la colonne variable (groupée) qui renvoie les valeurs moyennes par groupe.
  2. Le deuxième paramètre prend la fonction moyenne à travers la liste.

Enfin, nous résumons d'abord avec la moyenne et le chargement 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 les valeurs moyennes dans la colonne Market_SquareFeet regroupées par la colonne Market_Place.

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

Résultat

Nous pouvons voir que les valeurs similaires (Australie, Inde et USA) dans la colonne Market_Place sont regroupées et renvoyaient la moyenne 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 les valeurs moyennes dans la colonne Market_SquareFeet groupées par la colonne Market_Type.

bibliothèque ("dplyr")
#get la moyenne des pieds carrés en groupe en regroupant Market_Type
Imprimer (Market%>% Group_By (Market_Type)%>%
SumMarise_at (VARS (Market_SquareFeet), List (name = Mean)))

Résultat

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

Conclusion

Il est possible de regrouper les colonnes simples ou multiples avec d'autres colonnes numériques pour renvoyer la moyenne de la colonne numérique en utilisant 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 moyenne des valeurs groupées par rapport à une autre colonne.