Introducción a R

B0305 – Lab Eco Gral
https://ucr-ecologia.github.io/B0305-lab-eco-gral/

Prof. G. Avalos y T. Nakov

Escuela de Biologia, Universidad de Costa Rica

01 Aug 2025

R. Que? Por que?

¿Qué es R?

  • Lenguaje de programación estadística gratuito y de código abierto
  • Desarrollado específicamente para análisis de datos y estadística
  • Amplia comunidad científica y de desarrolladores
  • Miles de paquetes especializados disponibles

¿Por qué R?

  • Excelentes capacidades de procesamiento de datos

  • Excelentes capacidades de modelado estadístico

  • Excelentes gráficos, visualizaciones hermosas

  • Excelente soporte para programación reproducible

  • Excelente soporte para visualización interactiva de datos

  • Ampliamente usado en Ecología, Evolución, Bioinformática, …

  • Especialmente útil para análisis ecológicos y evolutivos especializados

  • Muchas extensiones escritas por científicos y desarrolladores de métodos específicamente para problemas biológicos

¿Qué es RStudio?

  • Entorno de desarrollo integrado (IDE) para R
  • Interfaz gráfica amigable para usar R
  • Facilita la escritura de código, visualización de datos y manejo de proyectos
  • Gratuito para uso personal y académico

Installation

Instalación de R

  1. Visitar https://www.r-project.org/
  2. Hacer clic en “Download R” → “CRAN”
  3. Seleccionar un mirror (ej: “Universidad de Costa Rica”)
  4. Elegir tu sistema operativo:
    • Windows: “Download R for Windows” → “base” → “Download R 4.x.x for Windows”
    • macOS: “Download R for macOS” → seleccionar la versión apropiada
    • Linux: seguir instrucciones para tu distribución
  5. Ejecutar el instalador descargado y seguir las instrucciones

Instalación de RStudio

  1. Primero instalar R (paso anterior)
  2. Visitar https://posit.co/downloads/
  3. Scroll down hasta “RStudio Desktop”
  4. Hacer clic en “Download RStudio Desktop”
  5. Seleccionar la versión gratuita: “RStudio Desktop Open Source License”
  6. Elegir tu sistema operativo y descargar
  7. Ejecutar el instalador y seguir las instrucciones

Importante

  • R debe estar instalado ANTES que RStudio
  • RStudio es solo la interfaz; R es el motor

Verificación de la instalación

  1. Abrir RStudio (no R directamente)
  2. En la consola (panel inferior izquierdo), escribir:
  3. Si aparecen los resultados, ¡la instalación fue exitosa! 🎉
# Verificar versión de R
R.version.string
[1] "R version 4.5.1 (2025-06-13)"
# Hacer un cálculo simple
2 + 2
[1] 4
# Crear un vector simple
mi_vector <- c(1, 2, 3, 4, 5)
mi_vector
[1] 1 2 3 4 5

Recursos adicionales:

Entorno de R

¿Qué es renv?

Problema común:

  • “Mi código funciona en mi computadora, pero no en la tuya” 😕
  • Diferentes versiones de paquetes
  • Incompatibilidades entre estudiantes
  • Dificultad para reproducir análisis

Solución: renv

  • Gestión de entornos reproducibles en R
  • Congela versiones específicas de paquetes
  • Garantiza que todos tengan el mismo entorno
  • Facilita la colaboración y enseñanza

Configuración del curso

Paquetes incluidos para ecología:

📊 Análisis y Visualización:
- readr/readxl - Importar datos
- dplyr - Transformación de datos
- ggplot2 - Gráficos hermosos

🔬 Análisis ecológico:
- vegan - Análisis de comunidades

📝 Reportes:
- rmarkdown - Documentos reproducibles
- quarto - Reportes modernos
- kableExtra - Tablas bonitas

Instalación y uso

Paso 1: Instalar renv

install.packages("renv")

Paso 2: Descargar archivo de configuración

Paso 3: Activar el entorno del curso

# En el directorio donde guardaste renv.lock:
renv::restore()

Paso 4: Verificar que funciona

library(tidyverse)
library(vegan)
library(ggplot2)
# Si no hay errores, ¡todo listo! 🎉

⚠️ Solo necesitas hacer esto UNA VEZ al inicio del curso

Ejercicios

Ejercicio 1: Primeros pasos con R

Operaciones básicas y variables

# 1. Realiza las siguientes operaciones matemáticas:
5 + 3
10 - 4
6 * 7
20 / 4
2^3

# 2. Crea variables y úsalas:
mi_edad <- 25
tu_edad <- 30
edad_promedio <- (mi_edad + tu_edad) / 2
edad_promedio

# 3. Crea un vector con las edades de tu grupo:
edades_grupo <- c(22, 25, 19, 28, 21)
mean(edades_grupo)  # promedio

Ejercicio 2: Trabajando con vectores

Manipulación de datos básicos

# 1. Crea vectores de datos ecológicos:
especies <- c("Quercus", "Pinus", "Cecropia", "Ficus", "Inga")
alturas <- c(15.2, 22.8, 8.5, 18.3, 12.1)  # metros
diametros <- c(45, 67, 23, 52, 38)  # cm

# 2. Explora los datos:
length(especies)  # número de especies
max(alturas)      # altura máxima
min(diametros)    # diámetro mínimo
mean(alturas)     # altura promedio

# 3. Filtra datos:
especies[alturas > 15]  # especies con altura > 15m
alturas[diametros < 50] # alturas con diámetro < 50cm

Ejercicio 3: Data frames y análisis

Creando y analizando conjuntos de datos

# 1. Crea un data frame:
arboles <- data.frame(
  especie = c("Quercus", "Pinus", "Cecropia", "Ficus", "Inga"),
  altura = c(15.2, 22.8, 8.5, 18.3, 12.1),
  diametro = c(45, 67, 23, 52, 38),
  sitio = c("bosque", "bosque", "claro", "ribera", "claro")
)

# 2. Explora el data frame:
head(arboles)          # primeras filas
str(arboles)           # estructura
summary(arboles)       # resumen estadístico

# 3. Análisis por sitio:
mean(arboles$altura[arboles$sitio == "bosque"])
table(arboles$sitio)   # frecuencia por sitio

Ejercicio 4: Visualización básica

Gráficos simples para datos ecológicos

# Usando los datos del ejercicio anterior:

# 1. Gráfico de dispersión:
plot(arboles$diametro, arboles$altura,
     xlab = "Diámetro (cm)", 
     ylab = "Altura (m)",
     main = "Relación Diámetro-Altura")

# 2. Boxplot por sitio:
boxplot(altura ~ sitio, data = arboles,
        xlab = "Tipo de sitio",
        ylab = "Altura (m)",
        main = "Altura por tipo de sitio")

# 3. Histograma:
hist(arboles$altura, 
     xlab = "Altura (m)", 
     main = "Distribución de alturas")

Ejercicio 5: Configuración del entorno

Práctica con renv y paquetes del curso

# 1. Configurar renv (solo la primera vez):
install.packages("renv")
renv::restore()  # instalar paquetes del curso

# 2. Cargar paquetes principales:
library(tidyverse)
library(vegan)

# 3. Probar con datos de ejemplo:
data(penguins, package = "palmerpenguins")
head(penguins)

# 4. Crear un gráfico con ggplot2:
ggplot(penguins, aes(x = bill_length_mm, y = bill_depth_mm)) +
  geom_point(aes(color = species)) +
  labs(title = "Dimensiones del pico en pingüinos",
       x = "Longitud del pico (mm)",
       y = "Profundidad del pico (mm)")

# 5. Verificar que vegan funciona:
library(vegan)
data(dune)
diversity(dune, index = "shannon")

Bibliografia

Manual oficial: https://cran.r-project.org/doc/manuals/r-release/R-intro.html

RStudio Cheatsheets:https://posit.co/resources/cheatsheets/

Gromelund, G. 2014. Hands on Programming with R. https://rstudio-education.github.io/hopr/index.html