¿Cómo agregar varias columnas en Data.table en R?

En este artículo, discutiremos cómo agregar varias columnas en Data.table en el lenguaje de programación R.

Una tabla de datos contiene elementos que pueden ser duplicados o únicos. Como resultado de esto, las variables se dividen en categorías según los conjuntos en los que se pueden segregar. Los valores de la columna se pueden sumar de manera que las columnas contengan la suma de los recuentos de frecuencia de las variables.

Método 1: Usar el método list()

Los métodos de indexación de tablas de datos estándar se pueden utilizar para segregar y agregar datos contenidos en un marco de datos. El atributo «por» se utiliza para dividir los datos en función de los nombres de columna específicos, proporcionados dentro del método list(). Se puede agregar una nueva variable que contiene la suma de los valores obtenidos usando el método sum() que contiene las columnas que se van a sumar.

Sintaxis: 

df[ , new-col-name:=sum(reqd-col-name), by = list(agrupando columnas)] 

Ejemplo:

R

# importing required libraries
library(data.table)
  
# creating a data frame
data_frame <- data.table(col1 = sample(6:8, 12 , replace = TRUE),
                         col2 = letters[1:2],
                         col3 = 1)
  
print ("Original DataFrame")
print (data_frame)
  
# compute the sum of col3 using grouping 
# of col1 and col2
data_frame[ , count:=sum(col3), by = list(col1, col2)] 
  
print ("Modified DataFrame")
print (data_frame)

Producción

[1] "Original DataFrame" 
   col1 col2 col3  
1:    7    a    1  
2:    6    b    1  
3:    8    a    1  
4:    7    b    1  
5:    6    a    1  
6:    8    b    1  
7:    7    a    1  
8:    8    b    1  
9:    8    a    1 
10:   7    b    1 
11:   6    a    1 
12:   7    b    1 
[1] "Modified DataFrame" 
  col1 col2 col3 count  
1:    7    a    1   2  
2:    6    b    1   1  
3:    8    a    1   2  
4:    7    b    1   3  
5:    6    a    1   2  
6:    8    b    1   2  
7:    7    a    1   2  
8:    8    b    1   2  
9:    8    a    1   2 
10:   7    b    1   3 
11:   6    a    1   2 
12:   7    b    1   3

Método 2: Usando lapply()

La biblioteca data.table se puede instalar y cargar en el espacio de trabajo. El método lapply() luego se puede aplicar sobre este objeto data.table, para agregar varias columnas usando un grupo. El método lapply() se usa para devolver un objeto de la misma longitud que el de la lista de entrada. Cada elemento devuelto es el resultado de la aplicación de la función, FUN. 

Sintaxis:

lapply(obj, DIVERSIÓN, …)

Parámetros: 

  • obj: un vector (atómico o de lista) o un objeto de expresión.
  • FUN – la función que se aplicará sobre los elementos. 

El atributo .SD se usa para calcular estadísticas de resumen para una lista más grande de variables. La función de suma se aplica como la función para calcular la suma de los elementos que caen categóricamente dentro de cada variable de grupo. El atributo ‘by’ es equivalente al ‘group by’ en SQL mientras se realiza la agregación. 

Sintaxis:

lapply (.SD, suma)

Ejemplo:

R

# importing required libraries
library(data.table)
  
# creating a data frame
data_frame <- data.table(col1 = sample(6:8, 12 , replace = TRUE),
                         col2 = 1:2,
                         col3 = 1)
  
print ("Original DataFrame")
print (data_frame)
  
print ("Modified DataFrame")
data_frame[, lapply(.SD, sum), by= col1]

Producción

[1] "Original DataFrame"
col1 col2 col3  
1:    7    1    1  
2:    7    2    1  
3:    8    1    1  
4:    8    2    1  
5:    8    1    1  
6:    6    2    1  
7:    7    1    1  
8:    7    2    1  
9:    8    1    1 
10:    6    2    1 
11:    7    1    1 
12:    7    2    1 
[1] "Modified DataFrame" 
   col1 col2 col3 
1:    7    9    6 
2:    8    5    4 
3:    6    4    2

Método 3: Usando el método agregado

La función de agregado() en R se usa para producir estadísticas de resumen para una o más variables en un marco de datos o una tabla de datos, respectivamente.

Sintaxis:

agregado(var_suma ~ var_grupo, datos = df, DIVERSIÓN = suma)

Parámetros: 

  • sum_var: las columnas para calcular las sumas
  • group_var: las columnas para agrupar datos por
  • data – El marco de datos a tomar
  • FUN – La función a aplicar

En caso de que la variable agrupada sea una combinación de columnas, se utiliza el método cbind() para combinar las columnas que se van a recuperar. La FUN que se aplicará es equivalente a la suma, donde se devuelve la suma de cada columna sobre un grupo categórico particular. 

Ejemplo:

R

# importing required libraries
library(data.table)
  
# creating a data frame
data_frame <- data.table(col1 = sample(6:8, 12 , replace = TRUE),
                         col2 = 1:2,
                         col3 = 1)
  
print ("Original DataFrame")
print (data_frame)
  
print ("Modified DataFrame")
aggregate(cbind(col2,col3) ~ col1, data = data_frame, FUN = sum)

Producción

[1] "Original DataFrame"
col1 col2 col3 
1:    6    1    1  
2:    6    2    1  
3:    7    1    1  
4:    6    2    1  
5:    6    1    1  
6:    7    2    1  
7:    8    1    1  
8:    6    2    1  
9:    8    1    1 
10:    6    2    1 
11:    7    1    1 
12:    7    2   
[1] "Modified DataFrame" 
col1 col2 col3 
1    6   10    6 
2    7    6    4 
3    8    2    2

Publicación traducida automáticamente

Artículo escrito por yippeee25 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 *