1. Instalar paquetes.

R viene con funciones básicas instaladas (“base R”), pero la verdadera potencia reside en los paquetes externos. Para usarlos, seguimos dos pasos: instalarlos (una sola vez en tu computadora, mediante la función install.packages("nombre_del_paquete")) y cargarlos (cada vez que abras un nuevo script, mediante la función library("nombre_del_paquete")).

#Instalar paquete por única vez. Estos son algunos que usaremos esta y la siguientes clases
install.packages("tidyverse") #El nombre del paquete debe estar entre comillas
install.packages("readxl")
install.packages("dplyr")
#Cargar paquete cada vez que abras una sesión nueva de RStudio. 
library(readxl) #En este caso el nombre del paquete funciona con y sin comillas
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.0     ✔ readr     2.2.0
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ ggplot2   4.0.2     ✔ tibble    3.3.1
## ✔ lubridate 1.9.5     ✔ tidyr     1.3.2
## ✔ purrr     1.2.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)

2. Preparación de datos.

Importamos nuestros datos mediante el botón import o bien mediante la función read_excel() del paquete readxl. En este caso trabajaremos con la base de datos Tabla_camelida.xlsx, la cual puedes encontrar el repositorio del curso o descargar directamente haciendo click aquí.

camelidos <- read_excel("~/Desktop/work/0_Cuantitativa_2026/ANT305Q-2026/Clases/Clase2/Tabla camelida.xlsx")
camelidos
## # A tibble: 33 × 3
##    Taxon Largo Ancho
##    <chr> <dbl> <dbl>
##  1 LLAMA  80.3  35.4
##  2 LLAMA  71.6  21.2
##  3 LLAMA  70.9  22.0
##  4 LLAMA  70.6  22.3
##  5 LLAMA  69.1  22.7
##  6 LLAMA  68.7  20.8
##  7 LLAMA  67.8  20  
##  8 LLAMA  66.6  21  
##  9 LLAMA  65.9  20.3
## 10 LLAMA  65.8  21.2
## # ℹ 23 more rows

3. Filtrado de datos.

A menudo necesitamos aislar datos específicos. Para esto, usaremos la función filter() junto al operador pipe (%>%) disponibles en el paquete tidyverse, que funciona como un “entonces”: “toma los datos, y luego fíltralos”. En este caso haremos el ejercicio de filtrar solo los datos provenientes del Taxón llamas. Tanto las variables como los datos a seleccionar deben ser escritos tal cual como están en la base de datos original.

# Creamos un nuevo dataframe solo con los datos de LLAMA
llama <- camelidos %>% filter(Taxon == "LLAMA")

# Verificamos el resultado
llama
## # A tibble: 20 × 3
##    Taxon Largo Ancho
##    <chr> <dbl> <dbl>
##  1 LLAMA  80.3  35.4
##  2 LLAMA  71.6  21.2
##  3 LLAMA  70.9  22.0
##  4 LLAMA  70.6  22.3
##  5 LLAMA  69.1  22.7
##  6 LLAMA  68.7  20.8
##  7 LLAMA  67.8  20  
##  8 LLAMA  66.6  21  
##  9 LLAMA  65.9  20.3
## 10 LLAMA  65.8  21.2
## 11 LLAMA  65.1  21.6
## 12 LLAMA  64.6  19.3
## 13 LLAMA  64.2  20.0
## 14 LLAMA  61.5  18.7
## 15 LLAMA  61.1  20.3
## 16 LLAMA  60.8  18.8
## 17 LLAMA  60.6  19.9
## 18 LLAMA  60.5  18.9
## 19 LLAMA  56.9  18.8
## 20 LLAMA  40.2  15.2

4. Estadísticas Descriptivas.

Para conocer las medidas de tendencia central y dispersión de nuestra muestra, R nos ofrece múltiples funciones. Podemos usar summary() para obtener un resumen general rápido de una variable específica.

Para indicarle a R exactamente qué columna queremos analizar dentro de nuestro dataframe, usamos el signo $.

# Resumen estadístico general (Mínimo, Cuartiles, Mediana, Media, Máximo)
summary(llama$Ancho)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   15.20   19.20   20.28   20.92   21.31   35.40

Si necesitamos extraer un valor específico para reportarlo o usarlo en otra fórmula, podemos calcular cada parámetro de forma independiente usando sus funciones específicas:

# Medidas de Tendencia Central
mean(llama$Ancho)   # Media o Promedio
## [1] 20.9195
median(llama$Ancho) # Mediana
## [1] 20.28
# Medidas de Posición y Dispersión
quantile(llama$Ancho) # Cuartiles
##     0%    25%    50%    75%   100% 
## 15.200 19.195 20.280 21.310 35.400
IQR(llama$Ancho)      # Rango Intercuartil
## [1] 2.115
sd(llama$Ancho)       # Desviación Estándar (Standard Deviation)
## [1] 3.792384
var(llama$Ancho)      # Varianza
## [1] 14.38217

5. Visualización de datos: Histograma.

Para explorar visualmente cómo se distribuyen nuestros datos, crearemos un histograma. Para esto usaremos ggplot2, un paquete especializado en gráficos que ya viene incluido y cargado dentro de tidyverse.

Usaremos la función ggplot(). Primero definimos nuestros datos (data = llama), luego en aes() (aesthetics) definimos qué variable irá en el eje X (en este caso, el Ancho). Finalmente, le indicamos el tipo de gráfico con geom_histogram(), donde podemos personalizar el grosor de las barras (binwidth), el color del borde y el relleno.

# Histograma para el ancho de falange solo de las llamas
ggplot(data = llama, aes(x = Ancho)) + 
  geom_histogram(binwidth = 1, color = "black", fill = "white")

Si queremos ver todos los datos en un mismo gráfico para compararlos, ya no usamos el vector filtrado, sino nuestra base de datos original (camelidos).

Para que R diferencie ambos grupos en el gráfico, agregamos el argumento fill = Taxon dentro de la función aes(). Esto le indica al programa que rellene las barras con colores distintos según la especie.

# Histograma comparativo para toda la base de datos
ggplot(data = camelidos, aes(x = Ancho, fill = Taxon)) + 
  geom_histogram(binwidth = 1, color = "black")


6. Trabajo en Clases 2.

Utilizando la base de datos Tabla_camelida.xlsx, crea un nuevo script y realiza los siguientes ejercicios en R:

  1. Explore la variable Largo utilizando un histograma (sin filtrar).
  2. Explore la variable Largo sólo para el taxón “GUANACO” utilizando un histograma.
  3. Calcule la media, mediana, máximo, mínimo, 1er y 3er cuartil de la variable Largo para el taxón “GUANACO”.
  4. Calcule la dispersión media o rango intercuartil (IQR) de la variable Largo en “GUANACO”.
  5. Calcule la desviación estándar de la variable Largo en “GUANACO”.
  6. Calcule la varianza de la variable Largo en “GUANACO”.
  7. Explore la variable Ancho utilizando un histograma (sin filtrar).
  8. Explore la variable Ancho sólo para el taxón “GUANACO” utilizando un histograma.
  9. Calcule la media, mediana, máximo, mínimo, 1er y 3er cuartil de la variable Ancho para el taxón “GUANACO”.
  10. Calcule la dispersión media o rango intercuartil (IQR) de la variable Ancho en “GUANACO”.
  11. Calcule la desviación estándar de la variable Ancho en “GUANACO”.
  12. Calcule la varianza de la variable Ancho en “GUANACO”.

← Clase Anterior Índice Siguiente Clase →