En este tutorial R, veremos cómo realizar operaciones de agregación agrupando los datos y devolviendo los valores máximos 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
Resultado
Ahora, devolveremos los valores máximos en una columna agrupando los valores similares en otra columna.
Método 1: agregado ()
Aquí, usamos la función agregada () que toma los tres parámetros.
Sintaxis
agregado (dataFrame_Object $ Grouped, List (dataFrame_Object $ Grouping), Fun = Max)
Parámetros
- El primer parámetro toma la columna variable (agrupada) que devolverá los valores máximos por grupo.
- 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.
- El tercer parámetro se divierte, que tomará la función máxima para devolver los valores máximos en los valores agrupados.
Ejemplo 1
En este ejemplo, agrupamos los valores en la columna Market_place y obtenemos los valores máximos 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áximo de pies cuadrados en grupo agrupando Market_place
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_place), diversión = max)))
Resultado
Podemos ver que los valores similares (Australia, India y EE. UU.) En la columna Market_place se agrupan y devuelven el máximo de 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áximos 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 máximo de pies cuadrados en grupo agrupando Market_Type
print (agregado (mercado $ market_squarefeet, lista (mercado $ market_type), diversión = max)))
Resultado
Podemos ver que los valores similares (bar, comestibles y restaurantes) en la columna de mercado_type se agrupan y devuelven el máximo de 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áximos 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áximo 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 = max)))
Resultado
Podemos ver que los valores similares de dos columnas se agruparon y devuelven los valores máximos en cada valor agrupado 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 máxima.
Sintaxis
dataFrame_Object%>% Group_By (agrupación)%>% resumen_at (vars (agrupado), list (name = max))
Dónde:
- Group_by () toma un parámetro, yo.mi. columna de agrupación
- Summarise_at () toma dos parámetros:
- El primer parámetro toma la columna variable (agrupada) que devuelve los valores máximos por grupo.
- El segundo parámetro toma la función max a través de la lista.
Finalmente, primero resumimos con Max y lo cargamos en 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áximos en la columna Market_Squarefeet agrupada por la columna Market_place.
Biblioteca ("dplyr")
#Obtenga el máximo de pies cuadrados en grupo agrupando Market_place
Impresión (mercado %> %Group_By (Market_place) %> %
resumen_at (vars (market_squarefeet), list (name = max))))
Resultado
Podemos ver que los valores similares (Australia, India y EE. UU.) En la columna Market_place se agrupan y devuelven el máximo 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áximos en la columna Market_Squarefeet agrupada por la columna Market_Type.
Biblioteca ("dplyr")
#Obtenga el máximo de pies cuadrados en grupo agrupando Market_Type
imprimir (mercado %> %group_by (market_type) %> %
resumen_at (vars (market_squarefeet), list (name = max))))
Resultado
Podemos ver que los valores similares (bar, comestibles y restaurantes) en la columna de mercado_type se agrupan y devuelven los valores máximos en cada valor agrupado en la columna Market_Square Feet.
Conclusión
Es posible agrupar las columnas simples o múltiples con otras columnas numéricas para devolver el valor máximo de la columna numérica utilizando la función agregada (). Del mismo modo, podemos usar la función GroupBy () con la función SUMPRAISE_AT () para agrupar los valores similares en una columna y devolver los valores máximos de los valores agrupados con respecto a otra columna.