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

Comment effectuer une opération d'agrégation avec groupby min
Dans ce didacticiel R, nous verrons comment effectuer les opérations d'agrégation en regroupant les données et en renvoyant les valeurs minimales 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 («Inde», «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 minimales 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 = min)

Paramètres:

  1. Le premier paramètre prend la colonne variable (groupée) qui renvoie les valeurs minimales 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 min pour renvoyer les valeurs minimales dans les valeurs groupées.

Exemple 1
Dans cet exemple, nous regroupons les valeurs dans la colonne Market_Place et obtenons les valeurs minimales 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 le minimum de pieds carrés en groupe en regroupant Market_place
Imprimer (agrégat (Market $ Market_Squarefeet, List (Market $ Market_Place), fun = min)))

Résultat

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

Exemple 2
Dans cet exemple, nous regroupons les valeurs dans la colonne Market_Type et obtenons les valeurs minimales dans la colonne Market_SquareFeet regroupé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 le min de pieds carrés en groupe en regroupant Market_Type
Imprimer (agrégat (Market $ market_squarefeet, liste (marché $ market_type), fun = min)))

Résultat

Nous pouvons voir que les valeurs similaires (bar, épicerie et restauration) dans la colonne Market_Type sont regroupées et renvoyaient le minimum 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 minimales dans 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 le minimum de pieds carrés en groupe en groupement Market_place et Market_Type
Imprimer (agrégat (Market $ Market_Squarefeet, List (Market $ Market_Place, Market $ Market_Type), Fun = min))

Résultat

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

Méthode 2: dplyr

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

Syntaxe

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

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 les valeurs minimales par groupe.
  2. Le deuxième paramètre prend la fonction min via la liste.

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

bibliothèque ("dplyr")
#get le minimum de pieds carrés en groupe en regroupant Market_place
Imprimer (Market%>% Group_By (Market_Place)%>% SumMarise_at (VARS (Market_SquareFeet), List (name = min))))

Résultat

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

Exemple 2
Dans cet exemple, nous regroupons les valeurs dans la colonne Market_Type et obtenons les valeurs minimales dans la colonne Market_SquareFeet regroupées par la colonne Market_Type.

bibliothèque ("dplyr")
#gate le minimum de pieds carrés en groupe en regroupant Market_Type
Imprimer (Market%>% Group_By (Market_Type)%>% SumMarise_at (VARS (Market_SquareFeet), List (name = min))))

Résultat

Nous pouvons voir que les valeurs similaires (bar, épicerie et restauration) dans la colonne Market_Type sont regroupées et renvoyaient les valeurs minimales 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 renvoyer la valeur minimale de la colonne numérique à l'aide de la fonction agrégate (). De même, nous pouvons utiliser le funciton groupBy () avec la fonction SumMarise_at () pour regrouper les valeurs similaires dans une colonne et renvoyer les valeurs minimales des valeurs groupées par rapport à une autre colonne.