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

Cómo realizar la operación de agregación con Groupby Sum
En este tutorial R, veremos cómo realizar las operaciones de agregación agrupando los datos y devolviendo la suma total 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, devolveremos la suma total 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 = suma)

Parámetros

  1. El primer parámetro toma la columna variable (agrupada) que devuelve la suma de valores 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 burla, lo que toma la función de suma para devolver la suma total de los valores agrupados.

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

Resultado

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

Resultado

Podemos ver que los valores similares (bar, comestibles y restaurantes) en la columna de mercado_type se agrupan y devuelven la suma 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 la suma de los valores 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))))
#Egue la suma de los pies cuadrados en el grupo agrupando Market_place y Market_type
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_play, mercado $ market_type), diversión = suma))

Resultado

Podemos ver que los valores similares de las dos columnas se agruparon y devolvieron la suma de los valores agrupados 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 de suma.

Sintaxis

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

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 la suma de los valores por grupo.
  2. El segundo parámetro toma la función de suma a través de la lista.

Finalmente, primero resumimos con la suma y la 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 la suma de los valores en la columna Market_Squarefeet agrupada por la columna Market_place.

Biblioteca ("dplyr")
#Obtenga la suma de los pies cuadrados en grupo agrupando Market_place
Impresión (mercado %> %Group_By (Market_place) %> %
resumen_at (vars (market_squarefeet), list (name = sum))))

Resultado

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

Biblioteca ("dplyr")
#Obtenga la suma de los pies cuadrados en grupo agrupando Market_Type
imprimir (mercado %> %group_by (market_type) %> %
resumen_at (vars (market_squarefeet), list (name = sum))))

Resultado

Podemos ver que los valores similares (Bar, Grocery y Restaurent) en la columna Market_Type se agrupan y devuelven la suma de los valores agrupados 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 la suma de la columna numérica utilizando la función agregada (). Del mismo modo, podemos usar la función GroupBy () Fucniton con la función SUMPRAISE_AT () para agrupar los valores similares en una columna y devolver la suma de los valores agrupados con respecto a otra columna.