¿Cómo sumar una variable por grupo en R?

En este artículo, analicemos cómo encontrar la suma de una variable por grupo en el lenguaje de programación R. 

Conjunto de datos en uso:

Tabla 1

Rendimiento esperado:

Agrupar por categoría

Acercarse

  • Crear marco de datos
  • Establecer valores a los parámetros requeridos
  • Pasar a la función en uso
  • Mostrar marco de datos

Método 1: Usando la función agregada

En este método tomaremos la ayuda de la función agregada para sumar por grupo. La función de agregado divide los datos en subconjuntos, calcula estadísticas de resumen para cada uno y devuelve el resultado en una forma conveniente.

Sintaxis:

agregado (x = dataset_Name, by = group_list, FUN = any_function) # Sintaxis básica de R de la función agregada

Ejemplo:

R

GFG <- data.frame(
   Category  = c ("A","B","C","B","C","A","C","A","B"), 
   Frequency= c(9,5,0,2,7,8,1,3,7)
)
  
aggregate(x= GFG$Frequency,              
         by = list(GFG$Category),        
         FUN = sum)                      

Producción:

Método 2: Usar dplyr

dplyr es un paquete que proporciona un conjunto de herramientas para manipular conjuntos de datos de manera eficiente en R

    Métodos en el paquete dplyr

  • mutate() agrega nuevas variables que son funciones de variables existentes
  • select() elige variables en función de sus nombres.
  • filter() selecciona casos en función de sus valores.
  • summarise() reduce múltiples valores a un solo resumen.
  • arreglar() cambia el orden de las filas.

Antes de usar este paquete tienes que instalarlo

Programa:

R

library("dplyr")                             
GFG <- data.frame(
   Category  = c ("A","B","C","B","C","A","C","A","B"), 
   Frequency= c(9,5,0,2,7,8,1,3,7)
)
GFG%>%                                         
 group_by(Category) %>%                        
 summarise_at(vars(Frequency),                 
              list(name = sum))

Producción: 

Publicación traducida automáticamente

Artículo escrito por code_blooded7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *