Gestión de datos en programación R: transformación de datos

Un conjunto de datos se puede presentar de muchas maneras diferentes al mundo. Veamos una de las distinciones más esenciales y fundamentales, si un conjunto de datos es ancho o largo.

La diferencia entre conjuntos de datos anchos y largos se condensa en si preferimos tener más filas en nuestro conjunto de datos o más columnas. Un conjunto de datos que se enfoca en poner datos adicionales sobre una sola columna se conoce como un conjunto de datos amplio porque a medida que agregamos más y más columnas, el conjunto de datos se vuelve más amplio. De manera similar, un conjunto de datos que se enfoca en incluir datos sobre un tema en filas se denomina conjunto de datos largo.

En Data Wrangling en R , a veces, necesitamos ampliar los conjuntos de datos largos y viceversa. En general, los científicos de datos que adoptan el concepto de datos ordenados suelen preferir conjuntos de datos largos a anchos, porque los conjuntos de datos más largos son más cómodos de manipular en R.

wide vs long

En la figura anterior, el mismo conjunto de datos se representa como un conjunto de datos amplio y como un conjunto de datos largo. Es un conjunto de datos con religiones con la clasificación de ingresos. A medida que sepa qué son conjuntos de datos largos y anchos, intentemos usar herramientas en R para convertir conjuntos de datos anchos en largos y largos en anchos.

Conversión de conjunto de datos ancho a largo

La gather()función en el 'tidyr'paquete hace que los conjuntos de datos anchos sean largos. La función de recopilación funciona con el concepto de claves y valores. Los valores de datos representan una observación de una sola variable, mientras que la clave es un nombre utilizado para identificar la variable descrita por el valor.

key and value

En el conjunto de datos anterior, los ingresos actúan como clave al clasificar los ingresos de diferentes religiones, y la frecuencia proporciona los valores a la clave de ingresos.

Sintaxis:
reunir (datos, clave, valor, columnas)

Parámetros:
datos: La clave de nombre de Tibble
: El nombre que nos gustaría usar para la columna clave en el conjunto de datos largo.
valor: el nombre que nos gustaría aplicar para la columna de valor en el conjunto de datos largo.
columnas: lista de columnas del amplio conjunto de datos que nos gustaría incluir o excluir de la recopilación.

De forma alternativa, si desea recopilar la mayoría de las columnas, puede especificar las columnas que no desea recopilar enumerándolas con un signo menos (-) delante de ellas.

# Making Wide Datasets Long with gather()
  
# Load the tidyverse
library(tidyverse)   
  
# Read in the dataset
sample_data <- read.csv("C:/Users/Admin/Desktop/pew.csv") 
  
sample_data
  
sample_data_long <- gather(sample_data, income, freq, -religion)
  
sample_data_long

Producción:

gather1

gather2

Conversión de conjuntos de datos largos a anchos

A veces es necesario realizar una operación inversa de gather()función. Por lo tanto, la spread()función se usa para convertir conjuntos de datos largos en conjuntos de datos más amplios.

Sintaxis:
spread(datos, clave, valor)

Parámetros:
datos: La clave de nombre de Tibble
: El nombre que nos gustaría usar para la columna clave en el conjunto de datos largo.
valor: el nombre que nos gustaría aplicar para la columna de valor en el conjunto de datos largo.

library(tidyverse)   
sample_data <- read.csv("C:/Users/Admin/Desktop/mexicanweather.csv")
sample_data
  
sample_data_wide <- spread(sample_data, element, value)
  
sample_data_wide

Producción:

spread1

spread2

Ahora podemos ver el Tibble que tiene la mitad del tamaño del conjunto de datos mexicano. Tenemos columnas Tmax y Tmin y ya no tenemos las columnas de elemento o valor.

Publicación traducida automáticamente

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