Módulo 12 Introducción a R y RStudio
A lo largo del libro incluimos código de R que usamos para estimar, hacer simulaciones y dar ejemplos. Usamos RStudio para crear las diapositivas. Así mismo asumimos que usted utilizará R Markdown para personalizarlas de acuerdo al uso que usted quiera darles. A continuación, incluimos guías para configurar R y RStudio en su computador, así como algunos comandos básicos que se utilizan con frecuencia.
12.1 R y RStudio
R es un entorno de software libre que se utiliza con mayor frecuencia para hacer análisis y cálculos estadísticos. Ya que los participantes de los Learning Days llegan con diferentes conocimientos previos de estadística y distintas preferencias en cuanto a los softwares estadísticos, nosotros usamos R para asegurarnos de que todos estén en la misma página. Abogamos por el uso de R de manera general por su flexibilidad, diversas aplicaciones y soporte integral, que se puede obtener principalmente a través de foros en línea.
RStudio es un entorno de desarrollo integrado de código abierto y gratuito con una interfaz de usuario que hace que R sea mucho más fácil de usar. R Markdown, una herramienta de RStudio, permite presentar fácilmente código, resultados y texto en formato .pdf, .html o .doc.
12.2 Descarga de R y RStudio
12.2.1 Descargando R
R se puede descargar gratuitamente de CRAN en el link correspondiente a su sistema operativo:
- Para Windows: https://cran.r-project.org/bin/windows/base/
- Para Mac OS X: https://cran.r-project.org/bin/macosx/.
- Seleccione
R-4.0.4.pkg
para OS X 10.13 y versiones posteriores. - Seleccione
R-3.6.3.nnpkg
para OS X 10.11-10.12. - Seleccione
R-3.3.3.nnpkg
para OS X 10.19-10.10. - Seleccione
R-3.2.1-snowleopard.pkg
para OS X 10.6-10.8.
- Seleccione
12.2.2 Descargando RStudio
RStudio se puede descargar gratuitamente de la página web de RStudio, https://www.rstudio.com/products/rstudio/download/. Haga clic en el botón azul Download
que aparece en la parte superior de la columna izquierda de la tabla. Es decir, la columna “RStudio Desktop Open Source License” como se muestra a continuación en la Figura B.1. Una vez que seleccione este botón, la página mostrará una lista de opciones de descarga como se muestra en la Figura B.2.
- Para Windows, seleccione
Windows 10/8/7
. - Para Mac OS X, seleccione
Mac OS X 10.13+
.
12.3 Interfaz de RStudio
Usted verá tres paneles la primera vez que ejecute RStudio, como se muestra en la Figura B.3 a continuación.
- Consola (panel izquierdo)
- Entorno e Historial (panel superior derecho)
- Misceláneo (panel inferior derecho)
12.3.1 Consola
Puede ejecutar todas las operaciones directamente en la consola. Por ejemplo, si ingresa 4 + 4
y presiona la tecla Enter/Return, la consola devolverá [1] 8
.
Para asegurarnos que todos estén preparados para usar R en los Learning Days, les pedimos a los participantes que ejecuten una línea de código en particular en la consola para descargar varios paquetes de R. Los paquetes son fragmentos de código reproducible que permiten un análisis más eficiente en R. Para ejecutar estas líneas, copie el siguiente código en la Consola y presione la tecla “Enter”/“Intro”. Tenga en cuenta que se requiere conexión a internet para poder descargar paquetes.
install.packages(c("ggplot2", "dplyr", "AER", "arm", "MASS", "sandwich",
"lmtest", "estimatr","coin","randomizr", "DeclareDesign"))
Si los paquetes son descargados correctamente, su consola se deberá ver como la figura B.4, excepto que las URL variarán de acuerdo a su ubicación.
12.3.2 Editor
Para escribir y guardar código reproducible se utiliza un cuarto panel, el Editor. Para abrir el Editor, haga clic en el icono con una página en blanco con un signo más en la esquina superior izquierda de la interfaz de RStudio y seleccione R Script
, tal como se ve en la Figura B.5.
Una vez que se abre un nuevo archivo de R (R script), debe haber cuatro paneles en la interfaz de RStudio, incluyendo el panel del Editor. Podemos ejecutar aritmética simple ingresando una fórmula en el Editor y presionando Control + Enter
(Windows) o Command + Enter
(Mac). La fórmula y la “respuesta” aparecerán en la Consola, tal como se muestra en la Figura B.6. Las casillas rojas son agregadas para enfatizar.
R se puede utilizar para cualquier operación aritmética, incluidas, entre otras, la suma (+
), la resta (-
), la multiplicación escalar (*
), la división (/
) y la exponenciación (^
).
12.3.3 Entorno, historial y otros
Más allá de las funciones básicas también podemos almacenar valores, datos y funciones en el entorno global. Para asignar un valor a una variable, use el operador <-
. Todos los valores, funciones y datos almacenados aparecerán en la pestaña Entorno del panel superior derecho. En la Figura B.7, definimos la variable t
para tomar el valor \(3 \times \frac {6}{14}\). Como podemos ver t
está almacenada en Values.
También cargamos un conjunto de datos. Aquí, “ChickWeight” es un conjunto de datos integrado en R. La mayoría de los conjuntos de datos se cargarán desde la web u otros archivos en su computadora a través de un método alternativo. Podemos ver que ChickWeight contiene 578 observaciones de 4 variables y se almacena en el entorno. Al hacer clic en el nombre ChickWeight, ingresará una pestaña con el conjunto de datos en la ventana del Editor.
Los talleres de los Learning Days utilizan muchas herramientas en R para analizar y explorar datos. Por ahora, podemos aprender algunas herramientas básicas para examinar los datos. La función head()
nos permite ver las primeras seis filas del conjunto de datos. summary()
resume cada una de las columnas del conjunto de datos y dim()
proporciona las dimensiones del conjunto de datos, primero el número de filas y luego las columnas.
weight Time Chick Diet
1 42 0 1 1
2 51 2 1 1
3 59 4 1 1
4 64 6 1 1
5 76 8 1 1
6 93 10 1 1
weight Time Chick Diet
Min. : 35 Min. : 0.0 13 : 12 1:220
1st Qu.: 63 1st Qu.: 4.0 9 : 12 2:120
Median :103 Median :10.0 20 : 12 3:120
Mean :122 Mean :10.7 10 : 12 4:118
3rd Qu.:164 3rd Qu.:16.0 17 : 12
Max. :373 Max. :21.0 19 : 12
(Other):506
[1] 578 4
A diferencia de cualquier otro software estadístico, R permite a los usuarios almacenar múltiples conjuntos de datos de diferentes dimensiones simultáneamente. Esta característica hace que R sea bastante flexible para el análisis de datos utilizando distintos métodos.
12.3.4 Misceláneo
R proporciona un conjunto de herramientas, que van desde funciones integradas para graficar (plot
) hasta paquetes externos para estimaciones, modelos, gráfico de datos, etc. El último panel, Misceláneo, permite la visualización rápida de gráficos en RStudio. La Figura B.8 muestra cómo se ve una gráfica en este panel. En los Learning Days se explicara más en detalle cómo graficar datos. Por ahora no se preocupe por el código para graficar que aparece en el Editor.
12.4 Aprendiendo a usar R
12.4.1 Recursos en línea
Hay muchos recursos útiles en línea que lo ayudarán a familiarizarse con R. Nosotros recomendamos dos fuentes:
- Code School, que se ejecuta completamente a través de su navegador https://www.codeschool.com/courses/try-r.
- Coursera, a través de un curso de programación R en línea organizado por la Universidad Johns Hopkins:
- Vaya a [https://www.coursera.org] (https://www.coursera.org)
- Cree una cuenta (¡es gratis!)
- Regístrese en R Programming en la Universidad de Johns Hopkins (instructor: Roger Peng) en la pestaña “Courses”.
- Lea los materiales y vea los videos de la primera semana. Los videos de la primera semana duran aproximadamente 2.5 horas en total.
12.4.2 Práctica básica
Aquí proporcionamos algunos fragmentos de código para que se familiarice con algunas prácticas básicas en R. Le recomendamos que practique escribiendo los fragmentos de código en su Editor y luego revisando los resultados.
12.4.2.1 Configuración de una sesión R
En general, leemos otros archivos tales como datos o funciones en R y generamos resultados en forma de gráficos o tablas guardados en archivos que no están contenidos en una sesión de R. Para hacer esto, debemos darle a R una “dirección” en la que guardar dichos archivos. Puede ser más eficiente hacer esto configurando un directorio de trabajo, esto es, una ruta de archivo en la que se almacenan los archivos relevantes. Podemos identificar el directorio de trabajo actual usando getwd()
y establecer uno nuevo usando setwd()
. Tenga en cuenta que la sintaxis de estas rutas de archivo varía según el sistema operativo.
Es posible que usted necesite instalar paquetes adicionales a los enumerados anteriormente para ejecutar ciertas funciones. Para instalar paquetes se utiliza la función install.packages(" ")
, escribiendo el nombre del paquete entre comillas. Solo hace falta instalar los paquetes una vez.
Una vez que se instala un paquete se puede cargar y acceder a él usando library()
donde el nombre del paquete se inserta entre paréntesis (sin comillas "").
Para borrar la memoria de R de los datos, funciones o valores almacenados que aparecen en la pestaña del entorno (Environment), use rm(list = ls())
. Puede ser útil establecer una semilla de un número aleatorio para garantizar que sea posible replicar nuestro código en una sesión de R diferente. Esto es especialmente importante cuando trabajamos con métodos basados en simulación.
12.4.2.2 Comandos básicos de R
A continuación, exploraremos algunos de los comandos básicos de R. Por ejemplo, para asignar un escalar (un elemento simple) a una variable, usamos el comando <-
como mencionamos anteriormente:
[1] 5
También es posible que queramos asignar un vector de elementos a una variable. Aquí usamos el mismo comando <-
, pero nos enfocamos en cómo crear el vector.
[1] 1 2 3 4 5 6 7 8 9 10
[1] 1.000 3.000 2.000 4.000 3.142
Podemos referirnos a los elementos de un vector indicando su posición en el vector entre corchetes []
.
[1] 1
[1] 5 4
[1] 2 3 4 5 6 7 8 9 10
# Devuelve todas las posiciones para las cuales se indica "TRUE"
b[c(TRUE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE)]
[1] 1 3 6 7
Hay un conjunto de funciones integradas que se pueden aplicar a vectores como b
.
[1] 50
[1] 5
[1] 10
[1] 0
[1] 3.496
[1] 12.22
También podemos aplicar transformaciones aritméticas a los elementos de un vector:
[1] 1 4 9 16 0 36 49 64 81 100
[1] 1.000 1.414 1.732 2.000 0.000 2.449 2.646 2.828 3.000 3.162
[1] 0.0000 0.6931 1.0986 1.3863 -Inf 1.7918 1.9459 2.0794 2.1972 2.3026
[1] 2.718 7.389 20.086 54.598 1.000 403.429
Finalmente, podemos evaluar condiciones lógicas (es decir, ``¿es verdadera la condición X?’’) En todos los elementos de un vector:
[1] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[1] TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
[1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
[1] TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE FALSE FALSE
[1] FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[1] 1 2 3 4 5
La lógica básica de estos comandos se aplica a estructuras de datos mucho más complejas que escalares y vectores. Comprender bien estas funciones básicas le ayudará a entender temas más avanzados durante los Learning Days.