Dplyr: encuentre la media para varias columnas en R

En este artículo, discutiremos cómo calcular la media de varias columnas utilizando el paquete dplyr del lenguaje de programación R.

Funciones en uso

  • El método mutate() agrega nuevas variables y conserva las existentes. Se utiliza para realizar sumas de más variables. La secuencia original de filas y columnas permanece inalterada durante la aplicación de este método.

Sintaxis: mutate(.data, nombre-valor)

Parámetro:

.data: el marco de datos o la tabla que se agregará

nombre-valor: el nuevo nombre de columna y una función para definir valores

  • RowMeans () devuelve el valor medio de cada fila en el conjunto de datos. El prototipo de función incluye parámetros opcionales, incluido el parámetro lógico na.rm, que es un indicador de si se deben omitir los valores N/A.

Sintaxis:

rowMeans (data-set)
  • El conjunto de datos se produce seleccionando un conjunto particular de columnas para producir la media. El método select() se utiliza para el filtrado de marcos de datos en función de un conjunto de condiciones.

Sintaxis:

select (data-set, cols-to-select)

Por lo tanto, para encontrar la media de varias columnas de un marco de datos utilizando el lenguaje de programación R, primero necesitamos un marco de datos. Luego, las columnas de este marco de datos se pueden seleccionar usando el método select() y las columnas seleccionadas se pasan a la función rowMeans() para su posterior procesamiento. Los resultados se agregan al marco de datos usando una columna separada usando la función mutate().

Puede haber varias formas de seleccionar columnas

Ejemplo: Cálculo de la media de múltiples columnas seleccionando columnas a través de un vector

R

library("dplyr")
  
# creating a data frame
data_frame <- data.frame(col1 = c(1,2,3,4),
                         col2 = c(2.3,5.6,3.4,1.2),
                         col3 = c(5,6,7,8))
  
print("Original DataFrame")
  
print(data_frame)
  
data_frame_mod <- mutate(data_frame, mean_col = rowMeans(select(data_frame,
                                              c(col2,col3)), na.rm = TRUE))
print("Modified DataFrame")
print(data_frame_mod)

Producción:

[1] "Original DataFrame" 
col1 col2 col3 
1    1  2.3    5 
2    2  5.6    6 
3    3  3.4    7 
4    4  1.2    8 
[1] "Modified DataFrame" 
col1 col2 col3 mean_col 
1    1  2.3    5     3.65 
2    2  5.6    6     5.80 
3    3  3.4    7     5.20 
4    4  1.2    8     4.60

Las medias de las columnas se pueden calcular para todas las demás columnas utilizando el operador : especificado en el método select().

Ejemplo: encontrar la media de varias columnas seleccionando columnas a través del operador : 

R

library("dplyr")
  
# creating a data frame
data_frame <- data.frame(col1 = c(1,2,3,4),
                         col2 = c(2.3,5.6,3.4,1.2),
                         col3 = c(5,6,7,8))
print("Original DataFrame")
  
print(data_frame)
  
data_frame_mod <- mutate(data_frame, mean_col = rowMeans(select(data_frame,
                                              col1:col3), na.rm = TRUE))
  
print("Modified DataFrame")
print(data_frame_mod)

Producción

[1] "Original DataFrame" 
  col1 col2 col3 
1    1  2.3    5 
2    2  5.6    6 
3    3  3.4    7 
4    4  1.2    8 
[1] "Modified DataFrame" 
  col1 col2 col3 mean_col 
1    1  2.3    5 2.766667 
2    2  5.6    6 4.533333 
3    3  3.4    7 4.466667 
4    4  1.2    8 4.400000

También se puede extraer un conjunto específico de columnas del marco de datos usando métodos begin_with() que contienen una string. Todas las columnas cuyos nombres coincidan con la string se devuelven en el marco de datos.

Ejemplo: encontrar la media de varias columnas seleccionando columnas por begin_with()

R

library("dplyr")
  
# creating a data frame
data_frame <- data.frame(col1 = c(1,2,3,4),
                         col2 = c(2.3,5.6,3.4,1.2),
                         nextcol2 = c(1,2,3,0),
                         col3 = c(5,6,7,8),
                         nextcol = c(4,5,6,7)
                         )
print("Original DataFrame")
print(data_frame)
  
print("Modified DataFrame")
  
data_frame %>%
  mutate(mean_col = rowMeans(select(data_frame,
                                    starts_with('next')), na.rm = TRUE))

Producción

[1] "Original DataFrame" 
col1 col2 nextcol2 col3 nextcol 
1    1  2.3        1    5       4 
2    2  5.6        2    6       5 
3    3  3.4        3    7       6 
4    4  1.2        0    8       7 
[1] "Modified DataFrame"
      col1 col2 nextcol2 col3 nextcol mean_col 
1    1        2.3        1        5       4         2.5 
2    2       5.6        2       6       5         3.5 
3    3       3.4        3       7       6        4.5 
4    4       1.2        0        8       7       3.5

Publicación traducida automáticamente

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