1  Preparación para el curso

Instalación de R / RStudio

NotaResumen

Discutimos por qué vale la pena hacer un curso de R y cómo instalar tanto R como RStudio en todas las plataformas.

1.1 ¿R?

Yo me enfrenté a R por primera vez hace más de 12 años cuando un grupo de investigadores con quienes trabajaba compartieron su código en R. Fue horrible. El código estaba mal comentado, elaborado sin ninguna lógica de programación (yo, según esto, ya sabía programar en ese entonces) y no funcionaba. Quizá, si ya conoces el programa, tu experiencia ha sido similar: en general cuando nos enfrentamos a R nos enfrentamos a cosas que otras personas escribieron para salir del aprieto sin mucha explicación. ¡Es lo peor del mundo porque no se entiende nada! El propósito de estas notas (¿y clase?) es dual: acompañarte en un acercamiento a R desde cero y perderle el miedo a dicho programa.

R es un programa chido de estadística. FIN.

Una de las primeras cosas que necesitamos saber es que R (por más que sus más ávidos defensores digan lo contrario) no es para todo. Si tú ya conoces otro lenguaje (sea Stata, Excel, SAS, etc) sabrás utilizar muchas de sus opciones. Estoy seguro que, de conocer uno de estos, te será muchísimo más fácil seguir sacando promedios en tu lenguaje favorito que en R, realizar regresiones lineales es probablemente más sencillo en Stata mientras que las gráficas de barras quizá te sean más simples en Excel. Lo que probablemente no sea más sencillo de hacer en otro lenguaje (salvo si tu otro lenguaje es Python, Julia ó Matlab) es realizar modelos de simulación desde cero y todo el análisis que conlleva. Para eso, R es, indiscutiblemente, una de las mejores opciones para quienes no conocen de programación1.

1 Modelos de simulación más avanzados suelen hacerse en C, C++ o Fortran por su velocidad; empero, es necesario conocer más de programación.

2 La práctica hace al maestro

Finalmente, uno de los consejos más importantes que te puedo dar es que este curso no te va a servir si no practicas. Igual que como pasa con los idiomas uno no aprende R en una semana sin practicarlo después. Mi sugerencia es que, a la vez que sigues estas notas comiences a trabajar un proyecto tuyo específico junto con el buscador de Internet de tu preferencia a la mano y empieces a usar R en él. Practica2.

1.2 Algunas ventajas de R y cosas no tan padres

1.2.1 Puntos a favor de R

  • Todo el mundo lo usa (7o lenguaje más usado según PyPl y 16 según TIOBE). Quizá éste es el punto más a favor. Si mucha gente lo conoce y lo utiliza, hay más opciones de ayuda. Los sitios de StackOverflow en inglés y en español son excelentes para pedir apoyo en R; los grupos de usuarios de Google son otra fuente muy buena así como el canal de Slack. Entre más gente usa el programa; es más fácil obtener ayuda porque seguro alguien más tuvo hace ya tiempo el mismo problema que tú.

  • Hay grupos interesantes que valen la pena mencionar: RLadies que busca promoveer la diversidad de género entre quienes usan R, RainbowR con el objetivo de promover y conectar a la banda LGBTQ+ que trabaja en R y RMedicine con el objetivo de divulgar herramientas de R específicas de medicina.

  • Todas las personas que trabajan en estadística publican sus métodos y su código en R (eso, claro, cuando publican sus métodos). Es raro encontrar un nuevo método estadístico en el mundo y que no se pueda usar, de alguna forma, en R.

  • Dentro de los lenguajes de programación R es de los más sencillos. Quienes lo hicieron realmente se preocuparon por su público (de no especialistas) y en general desarrollan para él.

  • R es gratis. Y en esta época de austeridad, cualquier ahorro es bueno.

  • Todo lo que se hace en R es público. R no tiene métodos secretos ni es una caja negra. Todo lo que hace cada una de las funciones de R, cualquiera lo puede revisar, por completo.

  • En R puedes hacer notas ¡como estas! donde guardes todo tu trabajo, reportes automatizados e incluso documentos interactivos para facilitar el análisis de datos.

  • R puede hacer gráficas bonitas:

1.2.2 Puntos en contra de R

Por supuesto, no todo es miel sobre hojuelas con R. Particularmente, algunos de los problemas con el lenguaje:

La curva de aprendizaje de R es más empinada pero después de un rato vale la pena
  • La curva de aprendizaje es mucho más empinada que para otros programas estadísticos (como Stata, SAS o SPSS) ¡particularmente si es tu primera vez programando!

  • La mayor parte de las personas que trabajan en R no son programadores de verdad. Gran parte del código que te puedes encontrar en el mundo real está escrito con prisa para salir del aprieto sin mucha planeación, con pocos comentarios, falta de control de versiones y pocas herramientas de revisión. ¡Internet está lleno de creaturas espantosas escritas en R!

R puede ser muy lento pero eso te da oportunidad de hacer otras cosas ;) .
  • R de ninguna manera es veloz por lo que algunos programas (lo veremos en simulación) pueden ser extremada (y dolorosamente) lentos.

  • R espera que tú sepas a priori el método estadístico que vas a seguir. ¡A veces uno no se acuerda!

1.3 Bienvenidx a R, Reassured Reassurer (sí, así se llama esta versión)

R es un lenguaje de cómputo y un programa estadístico libre, gratuito, de programación funcional (¿qué es eso?), orientado a objetos (what??) que mutó a partir de otros dos lenguajes conocidos como Scheme y S3. El primero de estos fue desarrollado en el MIT por Sussman y Steele mientras que el segundo surgió en los laboratorios Bell4 creado por Becker, Wilks y Chambers. R nació en junio de 1995 a partir del trabajo de Ross Ihaka y Robert Gentleman5.

3 De ahí que se llame R porque la R es una mejor letra que la S (todos lo sabemos) -Atte. Rodrigo, el autor de este documento.

4 Mejor conocidos ahora como AT&T, la compañía celular que nunca tiene señal

5 Sus nombres empiezan con la letra R ¿coincidencia?

Desde su creación, la mayor parte del desarrollo de R ha sido trabajo completamente voluntario de la Fundación R, del equipo de R Core y de miles de usuarios que han creado funciones específicas para R conocidas como paquetes (packages). Actualmente el repositorio más importante de R, CRAN, contiene 24542 paquetes con distintas funciones para hacer ¡lo que quieras!

Como todo el trabajo en R es voluntario hace falta:

  1. Una homologación en los métodos. Puedes encontrar varias funciones que supuestamente hacen exactamente lo mismo (como es el caso de emojifont, fontemoji y emoGG para graficar usando emojis).

  2. Estandarizar la notación. Algunos paquetes como aquellos del tidyverse (veremos más adelante) utilizan pipes (%>%); estos sólo funcionan en el tidyverse pero no fuera del mismo.

Sin embargo, también es una gran ventaja que sean los usuarios de R quienes guían su desarrollo. El lenguaje va mutando según peticiones de las personas que lo usan. Si hay algo que te gustaría R tuviera y aún no existe ¡lo puedes proponer!

1.4 Instalación de R

Oficialmente, la página de R es de las páginas más feas del mundo. ¡No te dejes llevar por las apariencias!

A lo largo de estas notas estaré trabajando con: R version 4.5.3 (2026-03-11) Reassured Reassurer. La más reciente versión de R la puedes encontrar en CRAN. Para ello ve al sitio y selecciona tu plataforma.

  • En el caso de Windows da clic en Download R for Windows y luego en install R for the first time. Finalmente, ejecuta el instalable que aparece al dar click en Download R 4.5.3 for Windows . Específicamente si tienes la opción de elegir necesitas el de 64 bits (ver nota si tu computadora es mayor a 6 años).
NotaNota usuarios de Windows

En general las computadoras actuales son de 64 bits. Sin embargo, si tienes una computadora suficientemente vieja puede ser que ésta sea de 32 bits en ese caso puedes descargar R pero no podrás usar RStudio.

La forma de saber cuántos bits tiene tu computadora Windows es yendo a Configuración > Sistema > Acerca de como indican estas instrucciones de Microsoft

  • En el caso de Mac selecciona Download R for macOS. Ahí verás dos instaladores y tienes que elegir el que corresponde al procesador de tu computadora:

    • Si tu Mac es de las nuevas (procesador Apple Silicon: M1, M2, M3, M4 o más reciente) elige R-4.5.3-arm64.pkg.
    • Si tu Mac es de las viejitas (procesador Intel) elige R-4.5.3-x86_64.pkg.

    Para saber cuál tienes, ve al menú de la manzanita > Acerca de esta Mac y fíjate en el renglón de Chip (Apple Silicon) o Procesador (Intel). En Mac puede que necesites instalar adicionalmente XQuartz (según tu versión de Mac). Si tu Mac es una versión antigua (mayor a 6 años), sigue las instrucciones específicas de CRAN.

NotaNota usuarios de Mac

En algunas Mac, al abir R, aparece el siguiente mensaje de advertencia:

During startup - Warning messages: 1: Setting LC_CTYPE failed [...]

para solucionarlo ve a Aplicaciones y abre Terminal. Copia y pega en ella el siguiente texto:

defaults write org.R-project.R force.LANG en_US.UTF-8

Da enter, cierra la Terminal y reinicia R.

  • En el caso de Linux al elegir Download R for Linux tendrás la opción de buscar tu distribución específica. Al elegirla, aparecerán instrucciones para tu terminal de comandos; síguelas. En el caso de Linux, según los paquetes de R que elijamos instalar en la computadora requerirás instalar paquetería adicional para tu distribución de Linux. R te informará de la paquetería necesaria conforme la requiera.
Tip

Si tienes problemas para instalar puedes usar Posit Cloud (antes RStudio Cloud), que corre R y RStudio desde el navegador sin instalar nada.

1.4.1 Rtools (Windows)

RTools es una herramienta para poder instalar paquetes de R. Algunas versiones de Windows lo requieren. Entra al sitio de RTools, elige la opción que corresponde a tu versión de R (puedes verla con R.version) y descarga el instalador correspondiente.

Importante

La versión de RTools debe coincidir con la de tu R. Como estas notas se hicieron con R version 4.5.3 (2026-03-11), aquí te tocaría RTools45. La regla es sencilla: si tu R es la versión 4.5.x necesitas RTools45, si es 4.6.x necesitas RTools46 y así sucesivamente.

1.5 RStudio

RStudio es una empresa que se dedica a hacer cosas para R.

RStudio es una interfaz gráfica (IDE) para R desarrollada por la empresa Posit (que hasta 2022 se llamaba RStudio, PBC; por eso vas a ver los dos nombres por todos lados: el programa sigue llamándose RStudio, la empresa ya no). Puedes pensar a R como el Bloc de Notas y a RStudio como Word. El Bloc tiene todas las capacidades que necesitas para poder escribir; empero, es muchísimo mejor trabajar tus documentos / novelas / autobiografías en Word. De la misma manera, R tiene todas las capacidades para hacer estadística y análisis de datos pero un formato horrible y RStudio se ha convertido en la más popular forma de usar R. Por supuesto que no es la única; algunas alternativas son Visual Studio Code, Eclipse con StatET y RKWard. En general es posible seguir estas notas sin que tengas RStudio pero, si es tu primera vez programando, no lo recomiendo.

Tip

Si ya tienes experiencia con lenguajes como Julia, Rust, Java ó alguno de los mil C que existen, no tendrás ningún problema usando el editor de tu preferencia.

Para descargar RStudio ve a https://posit.co/download/rstudio-desktop/. La página tiene dos pasos: el paso 1 es instalar R (que ya hiciste) y el paso 2 es el botón de descarga de RStudio Desktop, que detecta solo tu sistema operativo. Si quieres elegir a mano tu plataforma (Windows, macOS ó tu sabor de Linux preferido) baja tu pantalla hasta la tabla All Installers and Tarballs. Siempre usa la versión Desktop gratuita (la de paga se llama RStudio Workbench y no la necesitamos). Una vez descargado el archivo, ábrelo y sigue las instrucciones que aparecen en pantalla.

Nota

RStudio se numera por año, no como R. Las versiones se ven así: 2026.04.1+512 (año, mes y número de parche) y además tienen nombre de flor. No te preocupes por cuál te toca: la página siempre te ofrece la más reciente y ésa es la que queremos.

1.6 Primeros pasos en RStudio

Una vez hayas instalado R y RStudio, abre RStudio6. Te enfrentarás a una pantalla similar a esta:

6 Si decidiste no instalar RStudio salta al final de esta sección.

La primera vez que abres RStudio

Si tu RStudio tiene sólo 3 páneles, como en mi caso, ve a la esquina superior izquierda (signo de hoja+) y elige un nuevo R Script

Elige hoja+ o CTRL + N para crear un nuevo archivo

Tendrás, entonces, 4 páneles como se ve a continuación:

RStudio <3
  1. El primer panel (esquina inferior izquierda) es la Consola. Aquí es donde se ejecutan las acciones. Prueba escribir 2 + 3 en él y presiona enter. Aparece el resultado de la suma. Definitivamente, R es la calculadora que más trabajo cuesta instalar.

La consola de R es la calculadora más difícil de instalar que existe.
  1. El segundo panel (esquina superior izquierda) es el panel con el Script. Aquí se escribe el programa pero no se ejecuta. Prueba escribir 10 + 9. ¿Ves que no pasa nada? Lo que acabas de hacer es crear un programa que, cuando se ejecute, hará la suma de 10 + 9. ¡Qué programa más aburrido! Sin embargo, no todo está perdido: presiona CTRL+Enter (Cmd+Enter en Mac) al final de la línea o bien da clic en Run y verás que, en la consola, aparece la instrucción y el resultado de la misma. El Script es una excelente fuente para tener un historial de lo que estás haciendo.

El Script sirve para salvar las instrucciones en el orden en que las vas a ejecutar.
  1. El tercer panel contiene el ambiente. Aquí aparecerán las variables que vayamos creando. Por ahora, para poner un ejemplo, importaremos el archivo Example1.csv (con valores simulados) dando clic en Import Dataset y From Text (base). Selecciona el archivo y elige las opciones en la ventana de previsualización que hagan que se vea bien. Nota que una vez realizada la importación aparece en el panel derecho Example1. Al dar clic podrás ver la base de datos. Las bases de datos y variables que utilices durante tus análisis aparecerán en esa sección.

El Ambiente muestra las variables (incluyendo bases de datos) que estás utilizando en este momento. A diferencia de otros programas estadísticos (o sea Stata) en R es posible tener múltiples bases de datos abiertas a la vez.
  1. Para entender mejor lo que ocurre en el último de los páneles, lo mejor es trabajar con nuestra base. Escribe en la consola plot(Example1) . En el cuarto pánel aparecerá una gráfica. El cuarto de los páneles para nosotros tendrá esa utilidad: mostrará las gráficas que hagamos así como la ayuda. Para ver la ayuda para las instrucciones de R puedes escribir ?. Prueba teclear ?plot en la consola. El signo de interrogación es un help() que muestra las instrucciones para usar una función.

La gráfica que aparece de hacer un plot de la base de datos de ejemplo.

El cuarto panel muestra respectivamente las gráficas y la ayuda.

Mi sugerencia personal es que escribas todo lo que haces en el Script y que sólo utilices la consola para verificar valores. De esta manera podrás almacenar todas las instrucciones ejecutadas y volver a ellas cuando se requieran. Por último te sugiero utilizar # gatos para comentar tu código. Así, el código anterior lo podrías ver en la consola como:

# Aquí pruebo cómo R hace las sumas
10 + 9

Comenta. Comenta. Comenta, por favor. Tu ser del futuro que regrese a sus archivos de R un mes después de haberlos hecho te lo agradecerá (y tu profe también).

Finalmente y como aclaración para estas notas, el código de R aparece como:

# Esto es código de R
7 - 2

Mientras que los resultados de evaluar en R se ven con []:

[1] 5

Así, la evaluación con su resultado se ve de la siguiente forma:

# Esto es código de R
7 - 2
[1] 5

1.7 Opcional: Instalación de TeamViewer

Advertencia

TeamViewer es una herramienta a usar sólo en última instancia si hay un problema que requiera que alguien del equipo docente apoye mediante acceso directo a la máquina. Los únicos tres escenarios para usar Teamviewer son los siguientes:

  1. No se puede compartir pantalla mediante la liga oficial de Zoom ni mediante ligas alternas de Zoom, Google Meets y Microsoft Teams creadas específicamente para intentar solventar el problema de compartir pantalla.

  2. Se puede compartir pantalla pero no del equipo correcto o la pantalla correcta (ejemplo se comparte pantalla pero del celular o bien se comparte la segunda pantalla de un equipo de dos pantallas).

  3. El usuario puede compartir pantalla pero no puede interactuar con su máquina (ejemplo: perdió acceso al teclado o al ratón).

TeamViewer es una herramienta de escritorio remoto que, al compartir un usuario y password asignado le permite a otra persona operar a distancia tu computadora. En el caso extremo de que durante la clase tengamos problemas de instalación de R o RStudio que requieran soporte avanzado (donde las herramientas de videollamada interfieran con el proceso) te pedimos instalar la versión gratuita de TeamViewer.

Una vez la descargues comparte tu ID y tu password con el docente para que pueda tener acceso a tu máquina (acceso que tú puedes monitorear desde tu pantalla y revocar en cualquier momento). Como TeamViewer le da acceso al docente a tu máquina ésta es una herramienta para uso en caso extremo sólo cuando no se puede compartir pantalla o no puedes operar en tu computadora (el teclado y el mouse no sirven, por ejemplo).

Teamviewer es una herramienta de soporte a distancia que permite ayudar en casos extremos a resolver problemas en tu computadora.

Una vez hayas cambiado el password de Teamviewer (dando clic en la flecha) nadie tiene acceso a tu máquina sin embargo la recomendación es desinstalarlo completamente.

Advertencia

Una vez el equipo docente haya resuelto tu problema desintala, da clic en la flecha junto a password para cambiar el password y (de ser posible) desinstala Teamviewer.

1.8 Continuación

1.9 Sistema

sessioninfo::session_info()
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.3 (2026-03-11)
 os       macOS Sequoia 15.7.3
 system   x86_64, darwin20
 ui       X11
 language (EN)
 collate  es_ES.UTF-8
 ctype    es_ES.UTF-8
 tz       America/Mexico_City
 date     2026-08-05
 pandoc   3.10.1 @ /usr/local/bin/ (via rmarkdown)
 quarto   1.10.18 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 package        * version  date (UTC) lib source
 cli              3.6.6    2026-04-09 [1] CRAN (R 4.5.2)
 coda             0.19-4.1 2024-01-31 [1] CRAN (R 4.5.0)
 codetools        0.2-20   2024-03-31 [1] CRAN (R 4.5.3)
 cowplot        * 1.2.0    2025-07-07 [1] CRAN (R 4.5.1)
 data.table       1.18.4   2026-05-06 [1] CRAN (R 4.5.2)
 digest           0.6.39   2025-11-19 [1] CRAN (R 4.5.1)
 dplyr          * 1.2.1    2026-04-03 [1] CRAN (R 4.5.2)
 evaluate         1.0.5    2025-08-27 [1] CRAN (R 4.5.1)
 farver           2.1.2    2024-05-13 [1] CRAN (R 4.5.0)
 fastmap          1.2.0    2024-05-15 [1] CRAN (R 4.5.0)
 forcats        * 1.0.1    2025-09-25 [1] CRAN (R 4.5.1)
 generics         0.1.4    2025-05-09 [1] CRAN (R 4.5.0)
 geomnet        * 0.3.1    2026-07-27 [1] Github (sctyner/geomnet@030537d)
 ggplot2        * 4.0.3    2026-04-22 [1] CRAN (R 4.5.2)
 glue             1.8.1    2026-04-17 [1] CRAN (R 4.5.2)
 gridExtra      * 2.3      2017-09-09 [1] CRAN (R 4.5.0)
 gtable           0.3.6    2024-10-25 [1] CRAN (R 4.5.0)
 hms              1.1.4    2025-10-17 [1] CRAN (R 4.5.1)
 htmltools        0.5.9    2025-12-04 [1] CRAN (R 4.5.1)
 htmlwidgets      1.6.4    2023-12-06 [1] CRAN (R 4.5.0)
 httr             1.4.8    2026-02-13 [1] CRAN (R 4.5.2)
 jsonlite         2.0.0    2025-03-27 [1] CRAN (R 4.5.0)
 knitr            1.51     2025-12-20 [1] CRAN (R 4.5.1)
 labeling         0.4.3    2023-08-29 [1] CRAN (R 4.5.0)
 latex2exp      * 0.9.8    2026-01-09 [1] CRAN (R 4.5.1)
 lattice          0.22-9   2026-02-09 [1] CRAN (R 4.5.3)
 lifecycle        1.0.5    2026-01-08 [1] CRAN (R 4.5.1)
 lubridate      * 1.9.5    2026-02-04 [1] CRAN (R 4.5.1)
 magrittr         2.0.5    2026-04-04 [1] CRAN (R 4.5.2)
 network          1.20.0   2026-02-07 [1] CRAN (R 4.5.1)
 otel             0.2.0    2025-08-29 [1] CRAN (R 4.5.1)
 pillar           1.11.1   2025-09-17 [1] CRAN (R 4.5.1)
 pkgconfig        2.0.3    2019-09-22 [1] CRAN (R 4.5.0)
 plotly           4.12.1   2026-07-22 [1] CRAN (R 4.5.2)
 png              0.1-9    2026-03-15 [1] CRAN (R 4.5.2)
 purrr          * 1.2.2    2026-04-10 [1] CRAN (R 4.5.2)
 R6               2.6.1    2025-02-15 [1] CRAN (R 4.5.0)
 RColorBrewer     1.1-3    2022-04-03 [1] CRAN (R 4.5.0)
 readr          * 2.2.0    2026-02-19 [1] CRAN (R 4.5.2)
 rlang            1.3.0    2026-07-05 [1] CRAN (R 4.5.2)
 rmarkdown        2.31     2026-03-26 [1] CRAN (R 4.5.2)
 S7               0.2.2    2026-04-22 [1] CRAN (R 4.5.2)
 scales           1.4.0    2025-04-24 [1] CRAN (R 4.5.0)
 sessioninfo      1.2.3    2025-02-05 [1] CRAN (R 4.5.0)
 sna              2.8      2024-09-08 [1] CRAN (R 4.5.0)
 statnet.common   4.13.0   2025-12-16 [1] CRAN (R 4.5.1)
 stringi          1.8.7    2025-03-27 [1] CRAN (R 4.5.0)
 stringr        * 1.6.0    2025-11-04 [1] CRAN (R 4.5.1)
 tibble         * 3.3.1    2026-01-11 [1] CRAN (R 4.5.1)
 tidyr          * 1.3.2    2025-12-19 [1] CRAN (R 4.5.1)
 tidyselect       1.2.1    2024-03-11 [1] CRAN (R 4.5.0)
 tidyverse      * 2.0.0    2023-02-22 [1] CRAN (R 4.5.0)
 timechange       0.4.0    2026-01-29 [1] CRAN (R 4.5.1)
 tzdb             0.5.0    2025-03-15 [1] CRAN (R 4.5.0)
 vctrs            0.7.3    2026-04-11 [1] CRAN (R 4.5.2)
 viridisLite      0.4.3    2026-02-04 [1] CRAN (R 4.5.1)
 withr            3.0.3    2026-06-19 [1] CRAN (R 4.5.2)
 xfun             0.60     2026-07-09 [1] CRAN (R 4.5.2)
 yaml             2.3.12   2025-12-10 [1] CRAN (R 4.5.1)

 [1] /Library/Frameworks/R.framework/Versions/4.5-x86_64/Resources/library
 * ── Packages attached to the search path.

──────────────────────────────────────────────────────────────────────────────