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

Cómo realizar la operación de agregación con Groupby Median
En este tutorial R, veremos cómo realizar las operaciones de agregación agrupando los datos y devolviendo la mediana 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 ('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 mediana 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 = mediano)

Parámetros

  1. El primer parámetro toma la columna variable (agrupada) que devuelve la mediana 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 la mediana en los valores agrupados.

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

Resultado

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

Resultado

Podemos ver que los valores similares (bar, supermercado y restaurantes) en la columna de Market_Type se agrupan y devuelven la mediana 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 mediana 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', 'USA', 'India', 'Australia', 'EE. UU.', 'India', 'Australia'),
market_type = c ('supermercado', 'bar', 'supermercado', 'restaurent', 'supermercado', 'bar', 'supermercado'),
Market_squarefeet = C (120,342,220,110,342,220,110)))
#Obtenga la mediana de los pies cuadrados en grupo agrupando Market_place y Market_type
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_place, mercado $ market_type), diversión = mediana))

Resultado

Podemos ver que los valores similares de las dos columnas se agruparon y devolvieron la mediana 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 Summarise_at () que está disponible en la biblioteca DPLYR para realizar la función Group_By () con la operación media.

Sintaxis

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

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

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

Biblioteca ("dplyr")
#Obtenga la mediana de los pies cuadrados en grupo agrupando Market_place
print (mercado %> % group_by (market_place) %> % resumen_at (vars (market_squarefeet), list (name = mediano)))

Resultado

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

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

Resultado

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