_________________________________________________________________________________________________________________________
El Tidyverse es un conjunto de paquetes de R
diseñados para la manipulación, transformación y visualización de datos
de manera coherente y eficiente. Entre los paquetes más destacados
dentro del Tidyverse se encuentran ggplot2 para
visualización de datos, dplyr para manipulación de datos,
tidyr para ordenarlos, y readr para la lectura
de archivos de datos, entre otros.
Todos estos paquetes comparten una filosofía de diseño común, utilizando
funciones que son fáciles de aprender y aplicar, además de estar
integrados entre sí, lo que permite un flujo de trabajo fluido y
uniforme.
Su uso es de gran importancia ya que facilita el análisis de datos con
un enfoque modular y lógico, proporcionando herramientas para resolver
tareas comunes. Al aprender Tidyverse, los estudiantes y profesionales
pueden mejorar sus habilidades en el procesamiento de datos, realizar
transformaciones complejas y visualizar resultados de manera clara y
reproducible. Además, su sintaxis intuitiva y coherente reduce la
complejidad del código, lo que promueve la comprensión y el trabajo
colaborativo.
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ lubridate::hms() masks vembedr::hms()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Continuaremos trabajando con la base de datos “iris”.
Es un famoso conjunto de datos de iris (de Fisher o Anderson) que proporciona las medidas en centímetros de las variables longitud y ancho del sépalo y longitud y ancho de los pétalos, respectivamente, para 50 flores de cada una de 3 especies de iris (Iris setosa, Iris versicolor e Iris virginica).
Contiene 150 casos (filas) y 5 variables (columnas) denominadas Sepal.Length( longitud de sépalo), Sepal.Width (ancho de sépalo), Petal.Length (longitud de pétalo), Petal.Width (ancho de pétalo) y Species.
# la función "names()" permite obtener los nombres de las variables de la base de datos.
names(iris)## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
dplyr forma parte de los paquetes que integran el Tydiverse. Presenta una gramática de manipulación de datos, que proporciona un conjunto consistente de verbos que le ayudan a resolver los desafíos de manipulación de datos más comunes. Estos verbos se pueden organizar en tres categorías en función del componente del conjunto de datos con el que trabajan:
filter() permite seleccionar un subconjunto de filas en
una base de datos.arrange() reordena las filas en forma ascendente o
descendente.select() permite seleccionar un subconjunto de filas en
una base de datos.rename() cambia el nombre de las columnas.mutate() crea nuevas variables mutando las
existentes.relocate() cambia el orden de las columnas.summarise() permite el cálculo de medidas de
resumen.
Veamos un ejemplo:
# Seleccionar solo las observaciones o filas de la especie "setosa"
setosa <- iris %>%
filter(Species == "setosa")
setosa
Como habrás observado la sintáxis y el funcionamiento de los verbos presentan las siguientes características en común:
El primer argumento es siempre un data frame.
Los argumentos posteriores describen qué hacer con el data frame,
permitiendo hacer referencia directa a las columnas o variables sin usar
$.
El resultado de cada operación es un nuevo marco de datos
Estas propiedades en conjunto facilitan la construcción de cadenas de operaciones simples que, combinadas, permiten obtener resultados complejos de manera clara y eficiente.
El operador de tubería o pipe (%>%), permite encadenar o combinar múltiples operaciones.
El pipe toma lo que está a la izquierda y lo coloca como el primer argumento de la llamada de función que está a la derecha. Se puede utilizar para múltiples llamadas de función, en una cadena.
Vamos a renombrar las variables del data frame
iris
#Usamos la función "rename" del paquete "dplyr"
iris.es <- iris %>%
rename(LONG.SEPALOS = Sepal.Length ,
ANCHO.SEPALOS = Sepal.Width ,
LONG.PETALOS = Petal.Length,
ANCHO.PETALOS = Petal.Width,
ESPECIES = Species)## Rows: 150
## Columns: 5
## $ LONG.SEPALOS <dbl> 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4…
## $ ANCHO.SEPALOS <dbl> 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3…
## $ LONG.PETALOS <dbl> 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1…
## $ ANCHO.PETALOS <dbl> 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0…
## $ ESPECIES <fct> setosa, setosa, setosa, setosa, setosa, setosa, setosa, …