Ir al contenido
σestadistica.ar
M16 · CómputoTroncalProcedimiento

Primeros pasos en R

Lo mínimo para dejar de depender de la planilla: importar una base, mirarla, calcular descriptivos y graficar, sin aprender a programar antes.

1 · Por qué R

Porque es gratis, porque es el estándar en investigación, y sobre todo porque deja registro. Un análisis hecho con clics no se puede rehacer ni revisar; un script sí.

2 · Lo mínimo que hay que instalar

R es el motor y RStudio el entorno donde se trabaja. Se instalan en ese orden y son dos programas distintos: R sin RStudio es incómodo, RStudio sin R no funciona.

Al abrir RStudio hay cuatro paneles. Los dos que importan al principio:

  • Script (arriba a la izquierda): donde se escribe el código que se guarda.
  • Consola (abajo a la izquierda): donde se ejecuta.

Todo lo que valga la pena va en el script, no en la consola. Ctrl+Enter ejecuta la línea donde está el cursor.

3 · Los cuatro conceptos

Asignar. <- guarda algo con un nombre.

edades <- c(23, 45, 31, 52)

Vector. Una serie de valores del mismo tipo. c() los junta.

Data frame. Una matriz de datos: filas de casos, columnas de variables. Es con lo que se trabaja siempre.

Función. Algo que hace una cosa: mean(), table(), read.csv(). Recibe argumentos entre paréntesis.

mean(edades)

Y el signo $ accede a una columna: datos$edad.

4 · El flujo completo

# 1 · Importar
datos <- read.csv("ingresos-eph.csv")

# 2 · Mirar qué llegó — siempre, antes de cualquier cosa
dim(datos)        # cuántas filas y columnas
str(datos)        # tipo de cada columna
head(datos)       # las primeras filas
summary(datos)    # mínimos, máximos, medias y faltantes

# 3 · Descriptivos
mean(datos$ingreso_ocup_principal)
median(datos$ingreso_ocup_principal)
sd(datos$ingreso_ocup_principal)
quantile(datos$ingreso_ocup_principal)

# 4 · Una variable categórica
table(datos$nivel_ed)
round(100 * prop.table(table(datos$nivel_ed)), 1)

# 5 · Gráficos
hist(datos$ingreso_ocup_principal, breaks = "FD")
boxplot(ingreso_ocup_principal ~ sexo, data = datos)

# 6 · Con los ponderadores de la encuesta
weighted.mean(datos$ingreso_ocup_principal, datos$ponderador)

Con eso ya se puede hacer el análisis descriptivo completo de una base real. El archivo de ejemplo se descarga del caso de los ingresos de la EPH.

5 · Las tres cosas que confunden al principio

<- y =. Los dos asignan; la convención en R es <-. En el teclado, Alt+Guion lo escribe.

Los índices arrancan en 1, no en cero. datos[1, ] es la primera fila.

NA no es cero. Es “no disponible”. Muchas funciones devuelven NA si hay un solo faltante, y hay que pedirles na.rm = TRUE explícitamente:

mean(datos$ingreso, na.rm = TRUE)

Esa incomodidad es a propósito: te obliga a enterarte de que hay faltantes.

6 · Cuándo sumar paquetes

R base alcanza para todo lo de esta entrada. Cuando el trabajo crece, dos paquetes valen la pena:

install.packages(c("dplyr", "ggplot2"))   # una sola vez
library(dplyr)                             # en cada sesión

dplyr para manipular datos con verbos legibles:

datos |>
  filter(edad >= 25) |>
  group_by(sexo) |>
  summarise(mediana = median(ingreso_ocup_principal), n = n())

ggplot2 para gráficos publicables. Los dos tienen curva de aprendizaje; ninguno es urgente.

7 · Errores frecuentes

  • Trabajar en la consola y no en el script. Lo que no está en el script no existe: no se puede rehacer ni revisar.
  • No mirar la base antes de analizar. str() y summary() son dos líneas que evitan horas.
  • Olvidar na.rm = TRUE y concluir que el promedio es NA.
  • Usar rutas absolutas. read.csv("C:/Users/…") no funciona en otra computadora. Ver organización de un proyecto.
  • Confundir = con ==. Uno asigna, el otro compara.
  • Nombres de columna con espacios o acentos. Funcionan, pero obligan a escribir comillas invertidas todo el tiempo.
  • Guardar el espacio de trabajo al salir. Decir que no: arrancar limpio cada vez es lo que garantiza que el script se baste a sí mismo.

Herramientas de este tema

  • ScriptProyecto reproducible (R y Python)· en preparación
  • ScriptDescriptivos y tabla 1 publicable· en preparación
Cómo citar esta entrada

APA (7.ª edición)

Montivero, J. L. (2026). Primeros pasos en R. estadistica.ar. https://estadistica.ar/conceptos/primeros-pasos-en-r

BibTeX

@misc{estadistica_ar_primeros_pasos_en_r,
  author       = {Montivero, Jorge Luis},
  title        = {{Primeros pasos en R}},
  year         = {2026},
  howpublished = {\url{https://estadistica.ar/conceptos/primeros-pasos-en-r}},
  note         = {estadistica.ar. Consultado el \today},
  urldate      = {2026-09-18}
}

Última actualización: 18 de septiembre de 2026. El contenido está bajo licencia CC BY-NC-SA 4.0: se puede reutilizar citando la fuente y sin fines comerciales.