El método group_by() se utiliza para agrupar los datos contenidos en el marco de datos en función de las columnas especificadas como argumentos para la llamada a la función. La función group_by() toma como argumento el ancho y todos los métodos que deben aplicarse en la agrupación especificada en todas las columnas del marco de datos.
Sintaxis:
group_by(col1, col2,..)
A esto le sigue la aplicación de la función resume(), que se utiliza para generar estadísticas de resumen sobre la columna aplicada. La columna se renombra con el nuevo nombre especificado. A la nueva columna se le puede asignar cualquiera de los métodos agregados como mean(), sum(), etc. Veamos primero un enfoque más simple y apliquemos groupby a solo una columna.
Ejemplo: Groupby en una sola columna usando nombres de variables
R
library(data.table) library(dplyr) # creating first data frame data_frame <- data.table(col1 = rep(LETTERS[1:3],each=2), col2 = c(1,1,3,4,5,6), col3 = 1 ) print ("Original DataFrame") print (data_frame) # deciding the column to group by grp <- c('col1') # calculating mean of col2 based on col1 group data_frame %>% group_by(across(all_of(grp))) %>% summarize(mean_col2 = mean(col2))
Producción
[1] "Original DataFrame" col1 col2 col3 1: A 1 1 2: A 1 1 3: B 3 1 4: B 4 1 5: C 5 1 6: C 6 1 # A tibble: 3 x 2 col1 mean_col2 <chr> <dbl> 1 A 1 2 B 3.5 3 C 5.5
Como hay tres grupos, A, B y C, se calcula la media para cada uno de estos tres grupos.
Ejemplo: Aplicar group_by sobre múltiples columnas usando el nombre de la variable
R
library(data.table) library(dplyr) # creating first data frame data_frame <- data.table(col1 = rep(LETTERS[1:3],each=2), col2 = c(1,1,3,4,5,6), col3 = 1 ) print ("Original DataFrame") print (data_frame) # deciding the column to group by grp <- c('col1','col2') # calculating mean of col2 based on col1 group data_frame %>% group_by(across(all_of(grp))) %>% summarize(mean_col2 = sum(col2))
Producción
# A tibble: 5 x 3 # Groups: col1 [3] col1 col2 mean_col2 <chr> <dbl> <dbl> 1 A 1 2 2 B 3 3 3 B 4 4 4 C 5 5 5 C 6 6
Publicación traducida automáticamente
Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA