[1] "R version 4.5.1 (2025-06-13)"
[1] 4
[1] 1 2 3 4 5
B0305 – Lab Eco Gral
https://ucr-ecologia.github.io/B0305-lab-eco-gral/
Escuela de Biologia, Universidad de Costa Rica
01 Aug 2025
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
Importante
📊 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
renv.lock
desde: Archivo renv.lock del curso# 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
# 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
# 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
# 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")
# 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")
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
B0305 – Lab Eco Gral