Glosario de R

Paquetes y funciones usados en el curso

Esta página reúne las funciones y paquetes cubiertos en las sesiones, no todas las que existen. Las insignias de sesión indican en cuál(es) sesiones apareció cada función. El índice de la derecha permite ir directamente a cada paquete.

TipHaz clic en el nombre del paquete

Los nombres de los paquetes enlazan a su documentación oficial: cada uno tiene muchas más funciones y argumentos de los que cubrimos aquí.

Operadores y sintaxis

Elementos del lenguaje R que no requieren cargar ningún paquete.

Elemento Descripción Sesiones
<- Asignar: evalúa la expresión de la derecha y guarda el resultado en el objeto nombrado a la izquierda. S1S2S3S4S5S6S7
|> Pipe nativo (R ≥ 4.1): pasa el resultado de la izquierda como primer argumento de la función de la derecha. Permite encadenar operaciones de arriba a abajo. Atajo en RStudio: Ctrl+Shift+M (Windows/Linux) o Cmd+Shift+M (Mac). S3S4S5S6S7
%>% Pipe de magrittr: funciona igual que |> en la gran mayoría de los casos. Común en tutoriales y código anterior a 2021; proviene del paquete magrittr, incluido en tidyverse. S3
%in% Comprueba si cada elemento del vector de la izquierda aparece en el vector de la derecha. Devuelve un vector lógico (TRUE/FALSE). S3
paquete::funcion() Operador de espacio de nombres (::): llama a una función indicando explícitamente de qué paquete proviene, sin necesidad de haberlo cargado con library(). Útil para funciones que se usan una sola vez (como tinytex::install_tinytex()) o para dejar claro el origen de una función cuando hay conflictos. S5S6
if (cond) { } else { } Condicional básico: ejecuta el primer bloque cuando la condición es TRUE y el segundo cuando es FALSE. Solo evalúa un valor escalar, no un vector completo. S5
nombre <- function(arg) { } Define una función propia. El cuerpo entre llaves contiene el código que se ejecuta al llamarla. R devuelve automáticamente el último valor evaluado dentro del cuerpo. S5

R base

Funciones disponibles en R sin necesidad de cargar ningún paquete.

Función Descripción Sesiones
Estructuras de datos
c(...) Crea un vector combinando los valores proporcionados. Todos deben ser del mismo tipo; si no, R los convierte al tipo más general. S1
data.frame(...) Crea una tabla de datos: cada argumento con nombre se convierte en una columna. Todas las columnas deben tener la misma longitud. S1S5
factor(x, levels) Convierte un vector en factor con un orden de niveles definido. Los factores son variables categóricas con categorías fijas y ordenables; el orden de levels afecta a gráficas y modelos. S3S5
Paquetes
install.packages("pkg") Instala un paquete desde CRAN en el disco. Solo se ejecuta una vez por computador; no va dentro de los scripts de análisis. S1
library(pkg) Carga un paquete instalado en la sesión de trabajo. Va al inicio del script y se ejecuta cada vez que se inicia una sesión nueva. S1
Matemáticas y estadísticas
sqrt(x) Calcula la raíz cuadrada de x. S1
round(x, digits = 0) Redondea x al número de decimales indicado en digits. S1S5
mean(x, na.rm = FALSE) Calcula la media aritmética. Con na.rm = TRUE ignora los valores NA antes de calcular. S3S4S5S6
sd(x, na.rm = FALSE) Calcula la desviación estándar. Con na.rm = TRUE ignora los NA. S3S5
sum(x, na.rm = FALSE) Suma los elementos del vector. Con na.rm = TRUE ignora los NA. S3
cor(x) Calcula la correlación entre dos vectores o la matriz de correlaciones de un data frame numérico. Combina bien con round() para obtener resultados legibles. S5
nrow(x) Devuelve el número de filas de un data frame o matriz. S6
ifelse(cond, si_verdad, si_falso) Condicional vectorizado: evalúa la condición para cada elemento del vector y devuelve el valor correspondiente. Para más de dos categorías, usa case_when(). S5
Simulación
set.seed(n) Fija la semilla del generador de números aleatorios. Con la misma semilla, la simulación produce los mismos valores en cualquier computador, lo que la hace reproducible. S5
rnorm(n, mean = 0, sd = 1) Genera n valores aleatorios de una distribución normal con la media y desviación estándar indicadas. S5
runif(n, min = 0, max = 1) Genera n valores de una distribución uniforme entre min y max. S5
rbinom(n, size, prob) Genera n valores de una distribución binomial con size ensayos y probabilidad de éxito prob. S5
sample(x, n, replace = FALSE) Extrae n elementos al azar del vector x. Con replace = TRUE permite repeticiones. S5
pmax(...) Devuelve el máximo elemento a elemento entre los vectores. Útil para imponer un techo: pmax(0, x) lleva todos los negativos a cero. S5
pmin(...) Devuelve el mínimo elemento a elemento entre los vectores. Útil para imponer un piso: pmin(21, x) lleva a 21 todos los valores que lo superen. S5
Texto
paste(..., sep = " ") Une fragmentos de texto separándolos con el carácter indicado en sep. S1
paste0(...) Une fragmentos de texto sin separador (equivale a paste(..., sep = "")). Útil para construir identificadores o etiquetas. S5
gsub(patrón, reemplazo, x) Reemplaza todas las ocurrencias del patrón en x. El patrón puede ser texto literal o una expresión regular. S3
tolower(x) Convierte todas las letras de la cadena de texto a minúsculas. Útil para estandarizar categorías con variaciones de mayúsculas. S3
Entorno y datos
data() Sin argumentos, lista las bases de datos disponibles en los paquetes cargados. Con nombre (data("diamonds")), carga esa base de datos en el entorno. S1
View(x) Abre una vista tabular del objeto en una pestaña de RStudio. S1
getwd() Devuelve la ruta del directorio de trabajo actual. Útil para verificar que el proyecto está correctamente configurado. S4
head(x, n = 6) Muestra las primeras n filas del data frame (por defecto, 6). S4
names(x) Devuelve los nombres de las columnas de un data frame (o los nombres de un vector). S4
print(x) Imprime el objeto en la consola. En general es implícito: escribir el nombre de un objeto ya lo imprime sin necesidad de llamar print(). S1
saveRDS(x, file) Guarda un objeto R en disco en formato .rds, conservando su tipo exacto (factores, listas, atributos). Solo funciona en R. S4
readRDS(file) Carga un objeto guardado previamente con saveRDS(). S4
Citas bibliográficas
citation(pkg = NULL) Devuelve la referencia bibliográfica de R (sin argumentos) o del paquete indicado. Citar R y los paquetes usados es una buena práctica en trabajos académicos. S7
toBibtex(x) Convierte una referencia obtenida con citation() al formato BibTeX, listo para copiar al archivo .bib. S7

ggplot2

Paquete de visualización basado en la Grammar of Graphics. Se carga con library(ggplot2) en S1 y con library(tidyverse) a partir de S2.

Función Descripción Sesiones
Lienzo y estéticas
ggplot(data, mapping = aes()) Crea el lienzo base de la figura: define los datos y el mapeo inicial de variables a estéticas. No dibuja nada hasta añadir una capa geométrica con +. S1S2S3S5S6S7
aes(x, y, colour, fill, shape, ...) Mapea variables del data frame a estéticas visuales. Dentro de aes(): el valor varía según los datos y genera leyenda. Fuera de aes(): el valor es fijo e igual para todos los elementos. S1S2S3S5S6S7
Geometrías · una variable
geom_histogram(bins, fill, colour) Histograma: divide los valores de x en intervalos y cuenta cuántas observaciones caen en cada uno. Usa bins para el número de barras o binwidth para el ancho de cada una (no ambos a la vez). S2S3S5S6
geom_density(alpha) Curva de densidad suavizada. Versión continua del histograma; útil para comparar distribuciones entre grupos mapeando fill o colour a una variable categórica. S2
geom_bar(position) Barras de conteo por categoría: calcula automáticamente cuántas observaciones hay en cada nivel de x. position = "dodge" coloca las barras lado a lado; "stack" las apila. S2S3
Geometrías · dos variables
geom_point(alpha, size, colour) Diagrama de dispersión: un punto por fila del data frame. alpha controla la transparencia (0 invisible, 1 sólido) para manejar la sobreposición de puntos. S1S2S3S5
geom_jitter(width, alpha, size) Puntos con desplazamiento aleatorio pequeño en el eje x para evitar solapamiento. Combina bien con geom_violin() o geom_boxplot() para mostrar los datos individuales. S2S3
geom_boxplot(alpha) Diagrama de caja: muestra la mediana, los cuartiles y los valores extremos de y para cada nivel de x. S2
geom_violin(alpha, fill) Diagrama de violín: como el boxplot, pero muestra la forma completa de la distribución (útil para detectar bimodalidad o asimetría). Se combina bien con geom_jitter(). S2S3
geom_col(position) Barras a partir de valores ya calculados en el data frame. A diferencia de geom_bar(), no cuenta; la altura de cada barra es el valor de y. S3
geom_smooth(method, se) Línea de tendencia sobre los puntos. method = "lm" ajusta una recta; method = "loess" ajusta una curva suave. se = FALSE oculta el intervalo de confianza. S2S3
geom_line(colour, linewidth) Conecta los puntos en orden de x. Apropiado para series de tiempo o datos con un orden natural. S2
geom_tile() Mosaico de celdas coloreadas: dibuja un rectángulo por fila del data frame. Útil para visualizar densidades o matrices en dos dimensiones. S1
geom_vline(xintercept, colour) Dibuja una línea vertical en la posición indicada por xintercept. Útil para marcar la media, un umbral u otro valor de referencia. S5
Facetas
facet_wrap(~var, scales, nrow) Divide la figura en un panel por cada valor único de var. scales = "free" permite que cada panel tenga su propia escala. S2S5
facet_grid(filas ~ cols) Organiza los paneles en una cuadrícula con una variable en las filas y otra en las columnas. La sintaxis es var_filas ~ var_columnas. S2
Etiquetas
labs(title, subtitle, x, y, colour, fill, caption) Define los textos de la figura: título, subtítulo, ejes, leyendas y nota al pie. Usa NULL para eliminar un elemento (por ejemplo, x = NULL quita el título del eje x). S1S2S3S5S6S7
Escalas de color y forma
scale_colour_viridis_d(option) Paleta Viridis para la estética colour con variable categórica (sufijo _d de discrete). Opciones: "viridis", "magma", "plasma", "inferno", "cividis". S1S2
scale_colour_viridis_c(option) Paleta Viridis para la estética colour con variable continua (sufijo _c). S1
scale_fill_viridis_d(option) Paleta Viridis para la estética fill con variable categórica. S2S3
scale_fill_viridis_c(option) Paleta Viridis para la estética fill con variable continua. S1
scale_fill_viridis_b(option) Paleta Viridis para la estética fill con variable continua agrupada en intervalos (sufijo _b de binned). S1
scale_colour_brewer(palette) Paleta ColorBrewer para la estética colour. Ejemplos: "Set2", "Dark2", "Paired". S2
scale_fill_brewer(palette) Paleta ColorBrewer para la estética fill. S2
scale_colour_manual(values) Paleta de colores definida a mano para la estética colour. values es un vector de colores (nombres o códigos HEX), uno por categoría. S1S2S3
scale_fill_manual(values) Paleta de colores definida a mano para la estética fill. S3
scale_shape_discrete(name) Escala de formas para la estética shape con variable categórica. Permite personalizar el título de la leyenda con name. S2
scale_x_log10() Aplica escala logarítmica en base 10 al eje x. Útil cuando los datos tienen una distribución muy sesgada o un rango muy amplio. S2
xlim(min, max) Fija los límites del eje x. Las observaciones fuera del rango se eliminan del cálculo de las geometrías. S3
Temas
theme(...) Personaliza elementos visuales individuales: posición de la leyenda, tamaño de fuentes, líneas de cuadrícula, fondo, etc. Se suma a un tema base como theme_minimal(). S1S2S3S5
theme_minimal() Tema limpio sin fondo gris. Es el tema más usado en el curso. S1S2S3S5S6S7
theme_classic() Tema con ejes pero sin cuadrícula. Estilo clásico de artículo científico. S2
theme_bw() Tema con fondo blanco y cuadrícula. S2
theme_linedraw() Tema con bordes de línea negra, similar a theme_bw() pero con líneas más marcadas. S1S2
theme_dark() Tema con fondo oscuro. S2
theme_void() Tema sin ejes, cuadrícula ni fondo. Útil para mapas o diagramas sin marco. S2
element_blank() Dentro de theme(), elimina por completo un elemento visual. Por ejemplo, panel.grid.minor = element_blank() quita las líneas de cuadrícula menores. S2S3
element_text(size, face, colour, hjust) Dentro de theme(), controla el estilo de un elemento de texto: tamaño, negrita/cursiva, color y alineación horizontal. S2S3
element_line(colour, linewidth) Dentro de theme(), controla el estilo de líneas (cuadrícula, ejes). S2
element_rect(fill, colour) Dentro de theme(), controla el estilo de rectángulos (fondo del panel, de la leyenda). S2
Guardar figuras
ggsave(file, plot, width, height, units, dpi) Guarda la última figura generada (o la especificada en plot). El formato se determina por la extensión del archivo: .png, .pdf, .svg, etc. Para publicación impresa usa dpi = 300. S2

dplyr

Paquete de manipulación de datos. Parte de tidyverse; se carga con library(tidyverse).

Función Descripción Sesiones
Explorar
glimpse(x) Vista compacta del data frame: muestra el número de filas y columnas, el tipo de cada columna y los primeros valores. Equivale a str() de base R pero con formato más legible. S2S3S4S5
count(datos, var, sort = FALSE) Cuenta el número de observaciones por cada valor único de var. Con sort = TRUE ordena de mayor a menor. Es un atajo de group_by() |> summarise(n = n()). S3
Seleccionar y renombrar columnas
select(datos, col1, col2, ...) Elige columnas por nombre. Con -col excluye esa columna. Admite los ayudantes starts_with(), ends_with() y contains(). S3S4
rename(datos, nuevo = actual) Cambia el nombre de columnas. La sintaxis es siempre nombre_nuevo = nombre_actual. S3
rename_with(datos, .fn, .cols) Aplica una función (.fn) a los nombres de las columnas indicadas en .cols. Útil para estandarizar nombres en bloque: por ejemplo, convertirlos todos a minúsculas o reemplazar espacios. S3
starts_with("prefijo") Ayudante de selección: dentro de select(), elige todas las columnas cuyos nombres empiezan con el prefijo indicado. S3S4
ends_with("sufijo") Ayudante de selección: dentro de select(), elige todas las columnas cuyos nombres terminan con el sufijo indicado. S3
contains("cadena") Ayudante de selección: dentro de select(), elige todas las columnas cuyos nombres contienen la cadena indicada en cualquier posición. S3
Filtrar filas
filter(datos, condición) Retiene las filas que cumplen la condición. Varias condiciones separadas por , equivalen a AND (todas se deben cumplir); | equivale a OR (basta una). S3S4S5S6
Crear y modificar columnas
mutate(datos, col = expresión) Crea una columna nueva o modifica una existente. Pueden crearse varias en una sola llamada. El data frame original no cambia a menos que se reasigne con <-. S3S4S5
case_when(cond ~ val, ..., TRUE ~ val) Dentro de mutate(), recodifica valores evaluando condiciones en orden: asigna el valor de la primera condición verdadera. TRUE ~ al final actúa como caso por defecto y captura todo lo que no coincidió con las condiciones anteriores. S3S5
Resumir y agrupar
summarise(datos, col = fn(var)) Colapsa el data frame en un resumen: una fila por grupo (o una sola fila si no hay agrupamiento). Funciones habituales: mean(), sd(), n(), sum(). S3S4S5S7
group_by(datos, var1, var2) Agrupa el data frame para que las operaciones siguientes (mutate(), summarise()) operen dentro de cada grupo por separado. No cambia los datos visibles, solo añade información de agrupamiento. S3S4S5S7
ungroup(datos) Elimina el agrupamiento activo. Conviene añadirlo al final de cualquier pipeline que use group_by() cuando se quiere seguir usando el objeto sin agrupamiento. S3
n() Dentro de summarise() o mutate(), devuelve el número de filas del grupo actual (o del data frame completo si no hay agrupamiento). S3S5S7

readr

Paquete para importar y exportar archivos de texto plano (CSV, TSV…). Parte de tidyverse.

Función Descripción Sesiones
read_csv(file, skip, na) Importa un CSV con coma como separador y punto como decimal (formato internacional). skip omite las primeras n filas; na define los valores que se tratarán como NA. S4
read_csv2(file, skip, na) Importa un CSV con punto y coma como separador y coma como decimal: el formato que genera Excel configurado en español. Mismos argumentos que read_csv(). S4
write_csv(x, file) Exporta un data frame a CSV con coma como separador. Útil para compartir con otros programas o personas. S4
write_csv2(x, file) Exporta un data frame a CSV con punto y coma como separador y coma como decimal (formato latinoamericano). S4

readxl

Paquete para importar archivos Excel (.xlsx, .xls). No forma parte del tidyverse básico; se instala y carga por separado con library(readxl).

Función Descripción Sesiones
read_excel(path, sheet, skip, na, range) Importa una hoja de un archivo Excel. Por defecto carga la primera hoja. Argumentos clave: sheet (nombre o número de hoja), skip (filas a omitir al inicio), na (valores vacíos), range (rango de celdas). S3S4
excel_sheets(path) Lista los nombres de todas las hojas del archivo Excel. Úsala antes de read_excel() para saber qué hojas existen y cómo se llaman. S4

tidyr

Paquete para reorganizar y transformar datos. Parte de tidyverse.

Función Descripción Sesiones
drop_na(datos, ...) Elimina las filas que contienen al menos un valor NA. Sin argumentos adicionales, revisa todas las columnas; con nombres de columnas, solo las indicadas. S2S3
pivot_longer(datos, cols, names_to, values_to) Transforma de formato ancho a formato largo: convierte varias columnas en filas. cols indica qué columnas pivotar; names_to y values_to son los nombres de las dos nuevas columnas resultantes. S5

stringr

Paquete para manipulación de cadenas de texto. Parte de tidyverse.

Función Descripción Sesiones
str_pad(string, width, side, pad) Rellena una cadena de texto hasta alcanzar la anchura indicada en width. Por defecto rellena por la izquierda con espacios; con pad = "0" rellena con ceros. Útil para construir identificadores con formato fijo como "ID_001". S5

knitr

Paquete de generación de documentos. Se carga con library(knitr) y es el motor que Quarto usa internamente para ejecutar los bloques de código.

Función Descripción Sesiones
kable(x, digits, col.names) Convierte un data frame en una tabla con formato para documentos HTML, PDF o Word. Solución rápida para tablas sencillas; para tablas más elaboradas usa el paquete gt. S7
include_graphics(path) Incluye una imagen externa (PNG, JPG, SVG…) en un documento Quarto. Admite las mismas opciones de bloque que las figuras generadas con código (fig-cap, fig-align, out-width…) y permite referencias cruzadas con @fig-xxx. Preferible a la sintaxis Markdown ![]() cuando se necesita etiquetar la figura. S8

gt

Paquete para crear tablas de publicación con control detallado del formato.

Función Descripción Sesiones
gt(data) Crea una tabla gt a partir de un data frame. Las funciones de formato se añaden con el pipe |>, igual que en ggplot2 con +. S7
tab_header(title, subtitle) Añade un título y un subtítulo encima de la tabla. S7
cols_label(...) Define las etiquetas visibles de las columnas. Sintaxis: nombre_columna = "Etiqueta visible". S7
fmt_number(columns, decimals) Formatea columnas numéricas: controla el número de decimales y los separadores de miles. S7
tab_spanner(label, columns) Agrupa varias columnas bajo un encabezado común. label es el texto del encabezado; columns es el vector de columnas agrupadas. S7
tab_source_note(source_note) Añade una nota de fuente al pie de la tabla. Útil para citar el origen de los datos. S7
tab_footnote(footnote, locations) Añade una nota al pie vinculada a una celda, fila, columna o encabezado específico. locations indica dónde aparece el marcador de la nota. S7
cells_column_labels(columns) Dentro de tab_footnote() u otras funciones de locations, apunta al encabezado de una o varias columnas. S7

faux

Paquete para simular datos con estructura de correlaciones definida entre variables.

Función Descripción Sesiones
rnorm_multi(n, mu, sd, r, varnames) Simula n observaciones de varias variables numéricas con las medias (mu), desviaciones estándar (sd) y correlaciones (r) indicadas. varnames es el vector de nombres para las columnas resultantes. S5

patchwork

Paquete para combinar múltiples gráficas de ggplot2 en una sola figura compuesta.

Función Descripción Sesiones
p1 + p2 Coloca dos gráficas lado a lado. El operador + es la forma más directa de combinar objetos ggplot2; para apilarlos verticalmente se usa /. S8
plot_annotation(tag_levels) Añade etiquetas de panel a la composición. tag_levels = "a" genera (a), (b), (c)…; "1" genera (1), (2), (3)…; "A" genera mayúsculas; "i" genera romanos. S8

tinytex

Paquete para instalar TinyTeX, una distribución mínima de LaTeX necesaria para generar documentos PDF con Quarto.

Función Descripción Sesiones
tinytex::install_tinytex() Instala TinyTeX en el sistema. Se ejecuta una sola vez. Después, cambiar format: pdf en el YAML de un documento Quarto genera un PDF sin configuración adicional. S6

```