# Instalar el paquete llamado "dplyr"
install.packages("dplyr")
# Instalar múltiples paquetes a la vez
install.packages(c("dplyr", "ggplot2"))Sección 1: Introducción a R
Lo que necesitarás
- Instalaciones funcionales y actualizadas de R y RStudio
- Una conexión a internet (para instalar paquetes)
- Opcional: Una fuente saludable de cafeína ☕
Resumen
En esta sección nos sumergiremos en R. Comenzamos instalando y cargando paquetes útiles (dplyr y pacman). Luego cargamos el dataset clásico iris y comenzamos a resumirlo y manipularlo. Finalmente, haremos nuestras primeras gráficas.
Paquetes en R
Abre RStudio. Asegúrate de estar ejecutando las versiones más recientes de R y RStudio.
- Versión de R: 4.4.2 o más reciente
- Versión de RStudio: 2024.12.0 o más reciente
Aunque R base es útil y poderoso, el verdadero potencial de R proviene de combinar la instalación principal con los muchos paquetes generados a través de la colaboración de código abierto (ver lista de paquetes de CRAN).
Instalación de paquetes
Puedes verificar qué paquetes están instalados actualmente usando la función installed.packages(). ¿Listo para ejecutar tu primera función? Escribe installed.packages() en la consola de R y presiona enter.
También puedes verificar la pestaña Packages dentro de RStudio. Las casillas marcadas indican los paquetes que están actualmente cargados.
Ahora, instalemos algunos paquetes que serán útiles este semestre. Usamos la función install.packages(), dándole el nombre(s) del paquete(s) que deseas instalar.
Notas importantes:
- Necesitas una conexión a internet.
- El nombre de la función
install.packages()es plural independientemente del número de paquetes. - El nombre de cada paquete está rodeado de comillas (ej.,
"dplyr"). Estas comillas le dicen a R que esto es un carácter/cadena, no un objeto. Usa comillas dobles para consistencia. - Podemos crear un vector de paquetes usando
c(). Ejemplo:c(1, 2, 3)es un vector de tres elementos. De manera similar,c("dplyr", "ggplot2")es un vector de dos elementos con nombres de paquetes. Los vectores son muy importantes en R. - El símbolo de número (
#) crea comentarios en R.
Carga de paquetes
Para verificar que las instalaciones fueron exitosas, cargaremos los paquetes usando la función library():
Nota que no necesitamos comillas alrededor de los nombres de los paquetes al cargarlos (aunque aún funcionaría con comillas).
Gestión de paquetes con pacman
Instalemos otro paquete: el paquete pacman (¡sí, como el juego! 🎮).
# Instalar el paquete 'pacman'
install.packages("pacman")
# Cargarlo
library(pacman)El paquete pacman es muy meta: es un paquete para gestionar paquetes. Puedes usarlo para instalar, cargar, descargar y actualizar tus paquetes de R.
En lugar de escribir library(...) para cada paquete, usa la función p_load() de pacman:
Aún mejor: Si intentas cargar un paquete que no está instalado, ¡p_load() lo instalará automáticamente!
# Esto instalará y cargará tidyr si no está instalado
p_load(tidyr)Instalado y cargado. ¡Ese es servicio! ✨
Carga de datos
El dataset Iris
El dataset Iris contiene mediciones de 150 flores de iris de tres especies diferentes (Iris setosa, Iris versicolor, e Iris virginica). Para cada flor se registraron cuatro características: la longitud y ancho del sépalo, y la longitud y ancho del pétalo (todas en centímetros).
Este conjunto de datos fue introducido por el estadístico y biólogo Ronald Fisher en 1936 y se ha convertido en un clásico para enseñar análisis estadístico, clasificación y visualización de datos. Es uno de los datasets más utilizados en la enseñanza de ciencia de datos por su simplicidad, claridad y utilidad pedagógica.
Carga de datasets incluidos en R
Una de las ventajas de R es que viene con varios datasets incorporados que podemos usar para practicar. El dataset iris es uno de ellos.
Para cargar un dataset incorporado, usa la función data():
# Cargar el dataset iris
data(iris)Para ver todos los datasets incorporados en R, escribe:
data()<-
Aunque iris ya está disponible después de usar data(iris), a menudo queremos crear una copia para trabajar con ella. El operador <- es central en R. Asigna el(los) valor(es) de la derecha al nombre de la izquierda.
Al leer en voz alta, la gente dice “obtiene”: flores obtiene el contenido de iris.
# Crear una copia del dataset
flores <- irisPara ver los datos, simplemente escribe su nombre:
irisFunciones para cargar archivos externos
Cuando trabajes con tus propios datos, necesitarás cargar archivos desde tu computadora. Principalmente usarás:
-
Paquete
readr: para archivos CSV, TSV y delimitados -
Paquete
haven: para archivos de Stata (.dta), SPSS y SAS -
R base: para los formatos propios de R (
.rds,.rdata)
Para aprender más sobre una función:
- Presiona Tab después de escribir el nombre de la función (en RStudio)
- Escribe
?function_nameen la consola (ej.,?read.csv)
Ejemplo: Cargar un archivo CSV
Jugando con datos
Ahora que tenemos el dataset iris cargado, ¡hagamos algo con esos datos!
Exploración de los datos
Imprime los datos en la consola:
irisNota varias cosas:
- El conjunto de datos es un data frame (la estructura básica de R para datos tabulares)
- Dimensiones: 150 filas × 5 columnas
- Tipos de columnas: numéricas (
Sepal.Length,Sepal.Width,Petal.Length,Petal.Width) y factor (Species) - Obtienes una vista de los primeros registros
Obtener nombres de columnas
names(iris)Ver primeras/últimas filas
Usa View(iris) o haz clic en el conjunto de datos en el panel Environment para abrir el visor de datos de RStudio.
Estructura del dataset
# Ver estructura detallada
str(iris)Esto te mostrará: - El tipo de objeto (data.frame) - Número de observaciones y variables - Nombre y tipo de cada variable - Los primeros valores de cada variable
Resumen de los datos
Obtén un resumen rápido de tu conjunto de datos:
summary(iris)Esto te dará estadísticas descriptivas para cada variable: - Para variables numéricas: mínimo, 1er cuartil, mediana, media, 3er cuartil, máximo - Para factores: conteo de cada categoría
Para resumir una variable única, usa $ para tomarla:
# Tomar la variable Sepal.Length
iris$Sepal.Length
# Resumir Sepal.Length
summary(iris$Sepal.Length)
# Otras funciones útiles
mean(iris$Sepal.Length) # Media
median(iris$Sepal.Length) # Mediana
sd(iris$Sepal.Length) # Desviación estándar
min(iris$Sepal.Length) # Mínimo
max(iris$Sepal.Length) # Máximodataset$variable es cómo tomas una columna específica. ¡El autocompletado de pestañas de RStudio también funciona aquí!
Manipulación de los datos
El paquete dplyr ofrece herramientas útiles para manipulación de datos usando verbos como acciones.
select() - Elegir variables
Mantén solo las variables que te interesan:
¡Ahora tenemos 150 filas pero solo 3 columnas!
Alternativa: Excluir variables con un signo menos:
# Todo excepto las mediciones de pétalos
select(iris, -Petal.Length, -Petal.Width)
arrange() - Ordenar datos
Ordena los datos por una o más columnas:
Si ves iris ahora, no está ordenado. Debes asignar el resultado para cambiar el objeto:
iris_ordenado <- arrange(iris, Sepal.Length)Para orden descendente, usa desc():
filter() - Filtrar filas
Mantén solo las filas que cumplan ciertas condiciones:
summarize() - Crear resúmenes
Crea resúmenes específicos de tus datos:
group_by() - Agrupar datos
Combina group_by() con summarize() para análisis por grupos:
%>%
El operador %>% (pipe) te permite encadenar operaciones. Se lee como “luego”. En este ejemplo: “toma iris, luego agrupa por especie, luego resume”. Cubriremos esto más a fondo en la Sección 2.
Gráficas de los datos
Las funciones de gráficas predeterminadas de R son simples pero efectivas. Cubriremos ggplot2 más adelante, pero por ahora, hagamos gráficas rápidas.
Histograma
Crea un histograma de longitud de sépalo:
# Histograma simple
hist(iris$Sepal.Length)Hazlo más bonito con etiquetas y una línea en la media:
Gráfica de dispersión
Grafica la relación entre longitud de sépalo y longitud de pétalo:
plot(
x = iris$Sepal.Length,
y = iris$Petal.Length,
xlab = "Longitud de sépalo (cm)",
ylab = "Longitud de pétalo (cm)",
main = "Relación entre sépalo y pétalo",
pch = 19, # Tipo de punto
col = "blue" # Color
)Gráfica por grupos
Colorea los puntos según la especie:
# Convertir especies a números para colores
colores <- as.numeric(iris$Species)
plot(
x = iris$Sepal.Length,
y = iris$Petal.Length,
xlab = "Longitud de sépalo (cm)",
ylab = "Longitud de pétalo (cm)",
main = "Relación sépalo-pétalo por especie",
pch = 19,
col = colores
)
# Agregar leyenda
legend("topleft",
legend = levels(iris$Species),
col = 1:3,
pch = 19)Boxplot
Compara distribuciones entre especies:
Recomiendo definir claramente los argumentos de función. Ayuda a mantener las cosas claras, ya que el orden importa cuando no estás nombrando los argumentos.
Indexación
Casi todo en R está indexado numéricamente. Puedes acceder a elementos individuales usando corchetes [].
Indexación de vectores
Indexación de data frames
Los data frames tienen filas y columnas: [fila, columna]
# Tomar primera fila (todas las columnas)
iris[1, ]
# Tomar primera columna (todas las filas)
iris[, 1]
# Tomar primeras 5 filas, primeras 3 columnas
iris[1:5, 1:3]
# Usar nombre de columna como índice
iris[1:10, "Species"]
# Combinar: primeras 10 filas de setosa
iris[iris$Species == "setosa", ][1:10, ]Recuerda: Filas antes de columnas. Deja en blanco para seleccionar todo. - [1, ] = primera fila, todas las columnas - [, 2] = todas las filas, segunda columna - [3, 4] = tercera fila, cuarta columna
Desafío divertido
Problemas de práctica
Problemas con el dataset Iris
Problemas de álgebra lineal
Algunos rompecabezas clásicos de R-encuentra-álgebra-lineal para tu disfrute:
Puntos clave
-
Los paquetes extienden el poder de R - Usa
pacman::p_load()para gestión fácil -
Datasets incorporados - R incluye datasets como
irispara practicar -
La asignación es clave - Usa
<-para guardar resultados:new_data <- old_data -
Verbos de
dplyr-select(),filter(),arrange(),summarize(),group_by()para manipulación de datos -
Indexación con
[fila, columna]- Esencial para acceder a datos -
Usa
$para columnas -dataset$variabletoma una variable específica -
Funciones de resumen -
summary(),str(),head(),tail()para exploración
Recursos adicionales
- R for Data Science - Guía completa
- Hojas de referencia de RStudio - Referencias rápidas
- Stack Overflow - Comunidad de preguntas y respuestas
-
?function_name- Ayuda integrada de R -
?iris- Documentación del dataset iris
Siguiente: Sección 2 - Manipulación de datos con dplyr