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