Cómo realizar la operación de agregación con Groupby Min

Cómo realizar la operación de agregación con Groupby Min
En este tutorial R, veremos cómo realizar las operaciones de agregación agrupando los datos y devolviendo los valores mínimos en las filas agrupadas.

Esta operación debe realizarse en un marcado de datos. Creemos el marco de datos con siete filas y cinco columnas.

#cree un mercado de marcos de datos que tenga 7 filas y 5 columnas.
mercado = datos.Frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'EE. UU.', 'India', 'Australia',
'EE. UU.', 'India', 'Australia'), Market_Type = C ('Grocery', 'Bar', 'Grocery',
'Restaurente', 'Grocery', 'Bar', 'Grocery'), Market_Squarefeet = C (120,342,220,110,342,220,110)))
#Dispraad el market DataFrame
Impresión (mercado)

Resultado

Ahora, devolvemos los valores mínimos en una columna agrupando los valores similares en otra columna.

Método 1: agregado ()

Aquí, usamos la función agregada () que toma tres parámetros.

Sintaxis

agregado (dataFrame_Object $ Grouped, List (dataFrame_Object $ Grouping), Fun = min)

Parámetros:

  1. El primer parámetro toma la columna variable (agrupada) que devuelve los valores mínimos por grupo.
  2. El segundo parámetro toma una columna única o múltiple (agrupación) en una lista de tal manera que los valores se agrupan en estas columnas.
  3. El tercer parámetro se divierte, lo que toma la función min para devolver los valores mínimos en los valores agrupados.

Ejemplo 1
En este ejemplo, agrupamos los valores en la columna Market_place y obtenemos los valores mínimos en la columna Market_Squarefeet agrupada por la columna Market_place.

#cree un mercado de marcos de datos que tenga 7 filas y 5 columnas.
mercado = datos.Frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'EE. UU.', 'India', 'Australia', 'EE. UU.',
'India', 'Australia'), market_type = c ('supermercado', 'bar', 'supermercado', 'restaurent',
'Grocery', 'Bar', 'Grocery'), Market_squareFeet = C (120,342,220,110,342,220,110))))
#Obtenga el mínimo de pies cuadrados en grupo agrupando Market_place
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_place), diversión = min))

Resultado

Podemos ver que los valores similares (Australia, India y EE. UU.) En la columna Market_place se agrupan y devuelven el mínimo de los valores agrupados en la columna Market_Square Feet.

Ejemplo 2
En este ejemplo, agrupamos los valores en la columna Market_Type y obtenemos los valores mínimos en la columna Market_Squarefeet agrupada por la columna Market_Type.

#cree un mercado de marcos de datos que tenga 7 filas y 5 columnas.
mercado = datos.Frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'EE. UU.', 'India', 'Australia', 'EE. UU.',
'India', 'Australia'), market_type = c ('supermercado', 'bar', 'supermercado', 'restaurent',
'Grocery', 'Bar', 'Grocery'), Market_squareFeet = C (120,342,220,110,342,220,110))))
#Obtenga el minuto de pies cuadrados en grupo agrupando Market_Type
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_type), diversión = min)))

Resultado

Podemos ver que los valores similares (bar, supermercado y restaurantes) en la columna de mercado_type se agrupan y devuelven el mínimo de los valores agrupados en la columna Market_Square Feet.

Ejemplo 3
En este ejemplo, agrupamos los valores en las columnas Market_Type y Market_place y obtenemos los valores mínimos en la columna Market_Squarefeet agrupada por las columnas Market_Type y Market_place.

#cree un mercado de marcos de datos que tenga 7 filas y 5 columnas.
mercado = datos.Frame (market_id = c (1,2,1,4,3,4,5), market_name = c ('m1', 'm2', 'm3',
'M4', 'M3', 'M4', 'M3'), Market_place = C ('India', 'EE. UU.', 'India', 'Australia', 'EE. UU.',
'India', 'Australia'), market_type = c ('supermercado', 'bar', 'supermercado', 'restaurent',
'Grocery', 'Bar', 'Grocery'), Market_squareFeet = C (120,342,220,110,342,220,110))))
#Obtenga el mínimo de pies cuadrados en grupo agrupando Market_place y Market_Type
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_place, mercado $ market_type), diversión = min)))

Resultado

Podemos ver que los valores similares de las dos columnas se agruparon y devolvieron los valores mínimos en cada valor agrupado en la columna Market_Square Feet.

Método 2: dplyr

Aquí, usamos la función Group_By () con la función resumeSe_at () que está disponible en la biblioteca dplyr para realizar la función Group_By () con la operación min.

Sintaxis

dataFrame_Object%>% Group_By (agrupación)%>% resumen_at (vars (agrupado), list (name = min))

Dónde:

  1. Group_by () toma un parámetro, yo.mi. columna de agrupación
  2. Summarise_at () toma dos parámetros:
  1. El primer parámetro toma la columna variable (agrupada) que devuelve los valores mínimos por grupo.
  2. El segundo parámetro toma la función min a través de la lista.

Finalmente, primero resumimos con el min y lo cargamos en el grupo. Luego, cargamos la columna agrupada en el objeto DataFrame.

Devuelve un tibble.

Ejemplo 1
En este ejemplo, agrupamos los valores en la columna Market_place y obtenemos los valores mínimos en la columna Market_Squarefeet agrupada por la columna Market_place.

Biblioteca ("dplyr")
#Obtenga el mínimo de pies cuadrados en grupo agrupando Market_place
print (mercado %> % group_by (market_place) %> % resumen_at (vars (market_squarefeet), list (name = min)))

Resultado

Podemos ver que los valores similares (Australia, India y EE. UU.) En la columna Market_place se agrupan y devuelven el mínimo de cada valor agrupado en la columna Market_Square Feet.

Ejemplo 2
En este ejemplo, agrupamos los valores en la columna Market_Type y obtenemos los valores mínimos en la columna Market_Squarefeet agrupada por la columna Market_Type.

Biblioteca ("dplyr")
#Obtenga el mínimo de pies cuadrados en grupo agrupando Market_Type
print (mercado %> % group_by (market_type) %> % resumen_at (vars (market_squarefeet), list (name = min)))

Resultado

Podemos ver que los valores similares (bar, supermercado y restaurantes) en la columna de mercado_type se agrupan y devuelven los valores mínimos en cada valor agrupado en la columna Market_Square Feet.

Conclusión

Es posible agrupar las columnas simples o múltiples con las otras columnas numéricas para devolver el valor mínimo de la columna numérica utilizando la función agregada (). Del mismo modo, podemos usar el functo de GroupBy () con la función SUMPRAISE_AT () para agrupar los valores similares en una columna y devolver los valores mínimos de los valores agrupados con respecto a otra columna.