Resumir varias columnas usando dplyr en R

En este artículo, discutiremos cómo resumir varias columnas usando el paquete dplyr en el lenguaje de programación R.

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

El método summarise_all en R se usa para afectar cada columna del marco de datos. El marco de datos de salida devuelve todas las columnas del marco de datos donde se aplica la función especificada sobre cada columna. 

summarise_all(data, function)

Argumentos:

  • datos: el marco de datos para resumir las columnas de
  • función: la función que se aplicará en todas las columnas del marco de datos.

R

library("dplyr")
  
# creating a data frame
df < - data.frame(col1=sample(rep(c(1: 5), each=3)),
                  col2=5: 19)
  
print("original dataframe")
print(df)
  
# summarising the data
print("summarised dataframe")
summarise_all(df, mean)

Producción

[1] "original dataframe"
col1 col2 
1     2    1 
2     3    2 
3     4    3 
4     2    4 
5     2    5 
6     4    6 
7     1    7 
8     1    8 
9     5    9 
10    3   10 
11    5   11 
12    1   12 
13    4   13 
14    5   14 
15    3   15    
col1 col2
 1    3    8

Explicación: La media de todos los valores se calcula por columnas, es decir, la suma de los valores de col1 se calcula y se divide por el número de filas. De manera similar, la suma de valores se calcula para col2 y col3. Todas las columnas se devuelven en la salida final. 

Método 2: Usando el método summarise_at()

summarise_at() afecta a las variables que se extraen con un vector de caracteres o vars(). Aplica la función seleccionada al marco de datos. El marco de datos de salida contiene todas las columnas que se especifican en el método summarise_at. En caso de que se mencionen todas las columnas del marco de datos, la funcionalidad de este método es la misma que la del método summarise_all. 

data %>%
 summarise_at(vars(-cols(), ...), function)

Argumentos:

  • datos: el marco de datos para resumir las columnas de
  • función: la función que se aplicará en todas las columnas del marco de datos.

R

library("dplyr")
  
# creating a data frame
df < - data.frame(col1=sample(rep(c(1: 5), each=3)),
                  col2=1: 15,
                  col3=letters[1:15])
  
print("original dataframe")
print(df)
  
# summarising the data
print("summarised dataframe")
df % >%
summarise_at(c("col1", "col2"), mean, na.rm=TRUE)

Producción

[1] "original dataframe" 
col1 col2 col3 
1     3    1    a 
2     5    2    b 
3     4    3    c 
4     4    4    d 
5     5    5    e 
6     3    6    f 
7     2    7    g 
8     2    8    h 
9     1    9    i 
10    4   10    j 
11    2   11    k 
12    5   12    l 
13    1   13    m 
14    3   14    n 
15    1   15    o 
[1] "summarised dataframe" 
   col1 col2 
1    3    8

Publicación traducida automáticamente

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