Columna mutante en dplyr usando rowSums

En este artículo, vamos a discutir cómo mutar columnas en marcos de datos usando el paquete dplyr en el lenguaje de programación R. 

Instalación

El paquete se puede descargar e instalar en el espacio de trabajo de R con el siguiente comando: 

Comando de instalación: install.packages («dplyr»)

Comando de carga – biblioteca («dplyr»)

Funciones utilizadas

  • mutate(): El método mutate() en este paquete agrega nuevas variables y conserva las existentes. El método de mutación no afecta las filas del marco de datos. Sin embargo, la reagrupación puede ocurrir en función de los grupos creados en el marco de datos. Los atributos del marco de datos también se conservan.

Sintaxis:

mutar (nuevo-col-nombre = rowSums())

  • rowSums(): El método rowSums() calcula la suma de cada fila de un arreglo numérico, array o marco de datos. Podemos seleccionar filas específicas para calcular la suma en este método. Dado que la array creada por los nombres de fila y columna predeterminados se etiquetan con las etiquetas X1, X2…, etc., podemos especificarlas con estos nombres. Las filas se pueden seleccionar usando el método select_. 

Sintaxis:

select_(. , col-nombres.. )

Parámetros:

  • col-names: nombres de columna en el marco de datos

Ejemplo 1:

En este ejemplo, vamos a crear un marco de datos con una array con 3 columnas: X1, X2, X3, y se seleccionan todas las columnas y se calculan las sumas de sus filas. Se agrega una columna adicional «row_sum» al final del marco de datos.

R

# load the dplyr library
library("dplyr")
  
# creating the dataframe
# from the matrix
data_frame < - data.frame(matrix(rnorm(30), 10, 3),
                          stringsAsFactors=FALSE)
  
print("Original DataFrame")
print(data_frame)
  
# computing row sums
data_mod < - data_frame % > % mutate(row_sum=rowSums(
  select_(., "X1", "X2", "X3")))
  
# printing modified dataframe
print("Modified DataFrame")
print(data_mod)

Producción

[1] "Original DataFrame" 
X1         X2         X3 
1  -2.1548694 -1.1243811 -1.3944730 
2   1.1023396 -2.0153914 -1.6321950 
3  -0.2959568 -0.6511423 -0.2601204 
4  -0.1503434 -0.3802135  0.5651982 
5   0.7330868  1.8792182  0.1205579 
6   0.5351399 -0.1250861 -0.4986981 
7  -0.4058386 -0.0359763 -0.8261032 
8  -1.3560053 -0.2901260 -1.1033241 
9  -0.6176755 -0.8223494  0.8507067 
10  0.7307755 -1.2664778  1.2097483 
[1] "Modified DataFrame" 
X1         X2         X3     row_sum 
1  -2.1548694 -1.1243811 -1.3944730 -4.67372344 
2   1.1023396 -2.0153914 -1.6321950 -2.54524683 
3  -0.2959568 -0.6511423 -0.2601204 -1.20721946 
4  -0.1503434 -0.3802135  0.5651982  0.03464132 
5   0.7330868  1.8792182  0.1205579  2.73286285 
6   0.5351399 -0.1250861 -0.4986981 -0.08864431 
7  -0.4058386 -0.0359763 -0.8261032 -1.26791811 
8  -1.3560053 -0.2901260 -1.1033241 -2.74945549 
9  -0.6176755 -0.8223494  0.8507067 -0.58931825 
10  0.7307755 -1.2664778  1.2097483  0.67404601

Ejemplo 2:

En este ejemplo, se calculan las sumas de filas de X1 y X3. Solo estas columnas se devuelven en la salida final.

R

# load the package
library("dplyr")
  
# creating the dataframe
data_frame < - data.frame(matrix(rnorm(30), 10, 3),
                          stringsAsFactors=FALSE)
  
print("Original DataFrame")
print(data_frame)
  
# computing row sums
data_mod < -
data_frame % >%
mutate(row_sum=rowSums(select(., .dots=all_of(c("X1", "X2")))))
  
# printing modified dataframe
print("Modified DataFrame")
print(data_mod)

Producción

[1] "Original DataFrame" 
 X1         X2         X3 
1  -0.01475802 -2.0928792  0.6990158 
2   0.09758214  0.9327706 -0.7551849 
3   1.73099513 -2.0445329  0.7353809 
4  -0.98991323 -0.8638640  0.7545635 
5  -0.10079777 -1.0169922 -2.2176920 
6  -0.32026943 -0.2890030  1.0493662 
7   0.13442533 -2.3674214  0.4975756 
8  -1.47351401 -1.1391841 -1.0987409 
9   1.05674759 -0.7550495  1.0312730 
10 -0.14471879  0.7089866  0.1736686 
[1] "Modified DataFrame"            
X1         X2         X3    row_sum 
1  -0.01475802 -2.0928792  0.6990158 -2.1076372 
2   0.09758214  0.9327706 -0.7551849  1.0303527 
3   1.73099513 -2.0445329  0.7353809 -0.3135378 
4  -0.98991323 -0.8638640  0.7545635 -1.8537772 
5  -0.10079777 -1.0169922 -2.2176920 -1.1177900 
6  -0.32026943 -0.2890030  1.0493662 -0.6092725 
7   0.13442533 -2.3674214  0.4975756 -2.2329960 
8  -1.47351401 -1.1391841 -1.0987409 -2.6126981 
9   1.05674759 -0.7550495  1.0312730  0.3016981 
10 -0.14471879  0.7089866  0.1736686  0.5642678 

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 *