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

Cómo realizar la operación de agregación con Groupby media
En este tutorial R, veremos cómo realizar las operaciones de agregación agrupando los datos y devolviendo los valores promedio para 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 ('supermercado', 'bar', 'supermercado', 'restaurent',
'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 promedio de 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 = Media)

Parámetros

  1. El primer parámetro toma la columna variable (agrupada) que devuelve los valores medios 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 media para devolver el promedio de los valores agrupados.

Ejemplo 1
En este ejemplo, agrupamos los valores en la columna Market_place y obtenemos los valores promedio 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 promedio de pies cuadrados en grupo agrupando Market_place
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_place), diversión = medio)))

Resultado

Podemos ver que los valores similares (Australia, India y EE. UU.) En la columna Market_place se agrupan y devuelven la media 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 promedio 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 promedio de pies cuadrados en grupo agrupando Market_Type
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_type), diversión = media)))

Resultado

Podemos ver que los valores similares (bar, comestibles y restaurantes) en la columna de mercado_type se agrupan y devuelven la media 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 promedio 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))))
#Engite el promedio 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 = media)))

Resultado

Podemos ver que los valores similares de las dos columnas se agruparon y devolvieron la media de los valores agrupados en la columna Market_Square Feet.

Método 2: dplyr

Aquí, usamos el grupo_by con resumeSe_at () que están disponibles en la biblioteca dplyr para realizar el grupo_by con la operación media.

Sintaxis

dataFrame_Object%>% Group_By (agrupación)%>% resumen_at (vars (agrupado), list (nombre = medio))

Dónde:

Group_by () toma un parámetro, yo.mi. columna de agrupación

Summarise_at () toma dos parámetros:

  1. El primer parámetro toma la columna variable (agrupada) que devuelve los valores medios por grupo.
  2. El segundo parámetro toma la función media a través de la lista.

Finalmente, primero resumimos con la media y 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 promedio en la columna Market_Squarefeet agrupada por la columna Market_place.

Biblioteca ("dplyr")
#Obtenga el promedio de pies cuadrados en grupo agrupando Market_place
Impresión (mercado %> %Group_By (Market_place) %> %
resumen_at (vars (market_squarefeet), list (nombre = medio))))

Resultado

Podemos ver que los valores similares (Australia, India y EE. UU.) En la columna Market_place se agrupan y devuelven la media 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 promedio en la columna Market_Squarefeet agrupada por la columna Market_Type.

Biblioteca ("dplyr")
#Obtenga el promedio de pies cuadrados en grupo agrupando Market_Type
imprimir (mercado %> %group_by (market_type) %> %
resumen_at (vars (market_squarefeet), list (nombre = medio))))

Resultado

Podemos ver que los valores similares (bar, comestibles y restaurantes) en la columna de mercado_type se agrupan y devuelven la media de los valores agrupados en la columna Market_square Feet.

Conclusión

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