Document
Capítulo 3 Introducción a R

Capítulo 3 Introducción a R

Introducción a R Resumen En este capítulo : introducir R is Introducimos ,RStudio yRStudio Cloud ,una serie de herramienta para realizar anál

Related articles

How to Set up and Use ExpressVPN with qBittorrent (2024) New Diagnostics Console Experience with VMware Cloud Foundation Operations What is private DNS, and should you use it with a VPN? What Is a VPN? Virtual Private Networks Explained 7 Best VPNs for Call of Duty in 2024: PC, Xbox, PS5, Mobile

Introducción a R

Resumen

En este capítulo :

  • introducir R is Introducimos ,RStudio yRStudio Cloud ,una serie de herramienta para realizar análisis estadístico ,y distinguir las tres .
  • Discutimos la diferencia entre trabajar con scripts de R (archivos .R) ycon documento RMarkdown (.Rmd),así como la utilidad de traer librerías adicionales para expandir la funcionalidad de R.
  • presentar una serie de problema frecuente al usar R ,especialmente al inicio del proceso de aprendizaje .

Principales conceptos: R; RStudio; RStudio Cloud; script; RMarkdown; proyecto; directorio; librería.

Hello,world!

## [1] "Hello,world!"

¡ Bienvenidos a R yRStudio ! R is lenguaje es un lenguaje yun programa estadístico . Es de uso libre ycuenta con grandes capacidad para hacer análisis político . Junto con Excel ,Stata ,SPSS ,es uno de las herramienta más popular en las ciencia social empírico .

En el nivel más básico,R es una calculadora. Puede realizar operaciones yaplicar funciones,como por ejemplo,una multiplicación. Simplemente ingresamos una operación con operadores matemáticos (por ejemplo,para multiplicar usamos *) en la consola del programa,ejecutamos el código con la tecla Enter yR nos arroja el resultado. Por ejemplo,si quiséramos conocer la respuesta al sentido de la vida,el universo ytodo lo demás:

## [1] 42

Usando R,también podemos crear una secuencia de números del 1 al 100,utilizando funciones que el lenguaje reconoce y“lee” correctamente. Por ejemplo,veamos cómo funciona la función seq() para crear una secuencia de números:

seq(from = 1,to = 100,by = 1)
##   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
##  [19]  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36
##  [37]  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54
##  [55]  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
##  [73]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
##  [91]  91  92  93  94  95  96  97  98  99 100

En ocasiones,si queremos que el resultado de una operación ouna línea de código permanezca “en memoria” para poder hacer algo más con este,convertimos los resultados de estas operaciones en objetos de R al asignarles un nombre con el operador de asignación <-. Los objetos creados así quedan disponibles hasta que los eliminemos ocerremos la sesión de R. Por ejemplo,podemos guardar la secuencia anterior creando un objeto llamado secuencia_nums:

secuencia_nums<- seq(from = 1,to = 50,by = 1)

Si queremos ver los contenidos de este objeto,escribimos su nombre en la consola de R:

##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
## [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

A su vez,estos objetos son sujetos de ser transformados con funciones que les aplican operaciones. Aquí,encontramos la media del objeto secuencia_nums usar la funciónmear():

## [1] 25.5

Podemos guardar él como un objeto para ver yusar su contenido después :

media_secnums <- mear(secuencia_nums)
media_secnums
## [1] 25.5

Con elementos tan sencillos como estos yotros que veremos más adelante,exploraremos bases de datos yconstruiremos modelos estadísticos para evaluar teorías yresponder preguntas. En el resto de esta introducción,discutimos cómo trabajar con R usando RStudio ysu versión web,RStudio Cloud. Nuestro principal objetivo es tener la bases para,más adelante,hacer análisis de datos exploratorio (con gráficas ytablas) yanálisis estadístico utilizando regresiones.

Descargar R

Si queremos utilizar R en nuestros equipos,primero debemos descargarlo e instalarlo. Para descargar el programa,vamos a los siguientes sitios:

Luego,instalan R como cualquier otro programa. La instalación incluye el lenguaje R,así como un editor ointerfaz llamado RGui (o simplemente R) para empezar a usar el lenguaje. Sin embargo,en este curso NO vamos a trabajar en R usando el editor que viene en esta descarga. En cambio,vamos a facilitar las cosas usando RStudio.

RStudio

Primero,hay que entender cómo vamos a usar R a través de RStudio. RStudio es una IDE (un integrated development environment oentorno de desarrollo integrado) que funciona como una interfaz gráfica de usuario oGUI (graphical user interface) para facilitar el uso del lenguaje R ysus capacidades.

Los elementos centrales del programa RStudio -además de la barra de menús en la parte superior,que comparte con muchos otros programas de computador- son cuatro paneles que vemos en la ventana principal. La siguiente captura de pantalla muestra cómo están organizados los cuatro paneles principales de RStudio:


Capítulo 3 Introducción a R

Fig. 3.1: Organización de los paneles en una sesión de RStudio.

El flujo de trabajo en RStudio sigue lo que hacemos en estos paneles:

  1. Escribimos código,comentarios ytexto en el panel del script (archivo .R) o RMarkdown (archivo .Rmd) (panel superior-izquierdo). En una sesión nueva de RStudio,este panel puede no aparecer. Lo activamos creando un archivo tipo R script o RMarkdown nuevo en el menú File oabriendo un archivo ya existente.
  2. Ejecutamos (corremos,compilamos…) el código en la consola (panel inferior-izquierdo). El símbolo > yuna línea vacía nos indica que R está listo para ejecutar un comando. Si hay un signo rojo de STOP en la consola,significa que R está activamente trabajando yejecutando un código; no podemos correr más código en este momento. Además,en la consola vemos los resultados que produce nuestro código. Aquí también creamos objetos de R nuevos al asignarle nombre al resultado de una operación. Ejecutamos código de una de las siguientes maneras:
  • Escribimos código directamente en la consola ypresionamos la tecla Enter.
  • Copiamos código (de un script,un documento RMarkdown ode otra fuente),lo pegamos en la consola ypresionamos Enter.
  • correr directamente desde el script o RMarkdown usarCtrl + Enter (corre un bloque continuo de código) oseleccionando un pedazo de código con el cursor yluego usando Ctrl + Enter (corre solo lo seleccionado). Esta es la opción más recomendada.
  • Hacemos clic en el botón Run del panel del script o RMarkdown,ejecutando un bloque continuo de código.
  1. Frecuentemente creamos objetos en R tales como bases de datos,variables,tablas,resultados,etc. Estos aparecen en el Environment oambiente de la sesión de RStudio (panel superior-derecho). Hacemos esto ejecutando código en la consola ousando menús yasignándole un nombre al resultado; por ejemplo,una base de datos se puede cargar con código ocon el menú File > Import Dataset. Todos los objetos que están en el ambiente quedan disponibles para usarse en el código. Podemos borrar todos los elementos haciendo clic en Clear oindividualmente con la función rm ( ). Los objetos también desaparecen cuando cerramos la sesión,pero podemos guardarlos como archivos para usar después. Así mismo,el script o RMarkdown nos permite volver a construir objetos que hemos eliminado oque han desaparecido porque abrimos una nueva sesión de RStudio. En este panel,hay otras pestañas (History,Connections,etc.) pero no las usaremos.

  2. Consultamos archivos ydirectorios (carpetas),gráficas creadas,librerías cargadas omanuales de ayuda integrados en RStudio (panel inferior-derecho). Para esto,están las pestañas Files (carpetas yarchivos),Plots (gráficas),Help (manuales) yViewer ( vista previo ) .

Personalmente,ubico el script yel Environment (los inputs) a la izquierda yla consola ylas gráficas (los outputs) a la derecha. Además,cambio el color otema de la interfaz por un fondo oscuro. Mi ventana de RStudio se ve así:


Capítulo 3 Introducción a R

Fig. 3.2: Organización alternativa de los paneles en una sesión de RStudio.

Si quieren realizar cambios como estos,exploren el menú Tools,Global Options. Si no están seguro la organización is funciona que traer RStudio por defecto funcionar bien .

Recapitulando: R es un lenguaje de programación estadística yRStudio es una IDE oGUI que facilita el uso de R. Para usar RStudio,debemos primero instalar R. Sin embargo,siempre vamos a trabajar desde RStudio (ya sea en nuestro escritorio oen la web) yno desde R oRGui.

RStudio Cloud

RStudio Cloud es una plataforma web que permite acceder a casi toda la funcionalidad de R yRStudio,pero desde un navegador web. Esto significa que no hay que descargar e instalar programas al computador de escritorio. Igualmente,permite compartir fácilmente código yresultados con colegas,compañeros,profesores yestudiantes. En términos de funcionalidad y“look”,RStudio Cloud es casi idéntico a RStudio en el escritorio.

Para utilizar RStudio Cloud,deben crear una cuenta gratis en el sitio web. Esto los lleva a su espacio de trabajo oWorkspace opueden crear uno nuevo. Pueden agregar invitados –sus compañeros de trabajo– a espacios de trabajo en la pestaña Members.

Para poder empezar a trabajar con R en RStudio Cloud,deben crear un proyecto. La interfaz es bastante intuitiva. En un proyecto,pueden tomar notas de clase,realizar los talleres ollevar a cabo análisis para sus proyectos de investigación. En la siguiente sección,hablaremos de qué son ypara qué sirven los proyectos en RStudio.

Unas aclaraciones finales sobre RStudio Cloud. Primero,pese a estar “en la nube”,dos usuarios no pueden abrir el mismo proyecto de RStudio Cloud al mismo tiempo. Sin embargo,sí pueden crear espacios de trabajo oWorkspaces compartidos con otros usuarios,con el fin de colaborar; simplemente deben trabajar de manera secuencial yno simultánea en un mismo proyecto.

Segundo,las cuentas de Rstudio Cloud tienen un límite mensual de horas/proyecto. Si exceden el límite,podrían quedarse sin recursos a mitad de un proyecto. Por eso,recomiendo fuertemente usar la versión de escritorio de RStudio descrita en la sección anterior.

proyecto ydirectorio en RStudio

Para mantener todos nuestros archivos organizados,incluyendo bases de datos que cargamos ográficas que creamos,vamos a trabajar en lo que RStudio llama “proyectos”. Esencialmente,un proyecto de RStudio es una carpeta odirectorio de nuestro computador que contiene todos los elementos de nuestro proyecto. Esto incluye archivos de datos,objetos que queremos guardar como archivos ygráficas.

Para crear un nuevo proyecto en RStudio,deben ir a File,New Project ...; ahí deben seleccionar la opciónNew Directory:


Capítulo 3 Introducción a R

Fig. 3.3: Cómo crear un nuevo proyecto.

Después,New Project:

Fig . 3.4 : Cómo crear un nuevo proyecto .

Y,finalmente,le dan un nombre a su proyecto yle dan Create Project:

Fig . 3.5 : Cómo crear un nuevo proyecto .

Esto is crea creer automático un archivo tipo.RProj en la carpeta del proyecto. En adelante,podrán abrir este proyecto desde el menú File,opción Open Project... onavegando a la carpeta del proyecto en sus computadores yabriendo el archivo .RProj en cuestión.

Es aconsejable crear subdirectorios (carpetas) para guardar archivos de datos,documentación ográficas. Podemos crearlos usando el ícono New Folder en la pestañaFiles del cuadrante inferior derecho de la ventana (el Environment).

Para trabajar los inscrutivos de este libro,vamos a crear dos carpetas,llamadas \data y\output usando el botón New Folder . Otra opción es crearlas desde la consola con la función dir.create():

dir.create("data")
dir.create("output")

Al final,nuestro proyecto debe verse así:


Capítulo 3 Introducción a R

Fig. 3.6: Crear carpetas para guardar datos yresultados.

cargar archivo a RStudio Cloud

A lo largo de instructivo,utilizamos varios archivos de datos para hacer ejercicios yaprender estadística aplicada en R. Aquí pueden encontrar todos los archivos de datos que utilizamos a lo largo de este instructivo. Para utilizarlos,deben descargarlos a su computador yubicarlos físicamente (copiar-pegar) en la carpeta \data de su proyecto. Cada capítulo de este libro especifica al inicio cuáles archivos se van a utilizar.

Si están trabajando en RStudio Cloud,deben cargar o“subir” estos archivos a la plataforma primero yluego moverlos a la carpeta /data. Puedan hacer esto con el botón Upload de la pestañaFiles; ahí siguen los pasos para hacerlo.

Una vez los archivos estén en la carpeta /data,podemos cargar archivos de datos usando el menú File ocon el botón Import Dataset del panel Environment. Si bien utilizar los menús es más fácil e intuitivo al principio,les recomiendo copiar yguardar el código que arroja la carga vía menú para poder replicar el ejercicio más adelante. En este libro,siempre cargamos los datos utilizando código para asegurar replicabilidad de los ejercicios.

Ya que tenemos nuestro proyecto organizado,a continuación veremos en dónde guardamos código para ejecutar,modificar ycompartir nuestros análisis.

Rscripts yRMarkdown

Todo proyecto is empieza en R empezar con un documento que contener el código que vamos a ejecutar . Estos documentos is principalmente son principalmente de dos tipo : R script o RMarkdown .

Rscripts

Un script de R (un archivo que termina con la extensión .R ) contenercódigo ytodo lo que está en el documento será ejecutado como tal. Creamos un nuevo script con Ctrl + Shift + N ousar el menúFile.

Como señalamos anteriormente,podemos ejecutar líneas opedazos individuales de código en un script seleccionando lo que queremos ejecutar ypresionando Ctrl + Enter oel botón Run . Copiemos yejecutemos el siguiente pedazo de código que utiliza la constante \(\pi\) para calcular -en tres pasos- el área de un círculo con radio \(r = 5\ ):

radio <- 5
area <- pi*radio^2
area
## [1] 78.53982

Si queremos que alguna parte de un script no sea ejecutada como código,insertamos el símbolo # por delante (por ejemplo,# esto es un comentario) ytodo lo que sigue en esa misma línea queda como marcado comentario,así:

5 + 5 # esto nos da el resultado de la suma
# # [ 1 ] 10

Un script de R osu equivalente (por ejemplo,un archivo .do en Stata) es un elemento esencial de hacer trabajo cuantitativo,porque nos permite tener un registro de nuestro trabajo,incluyendo resultados,gráficas,experimentos fallidos y,con el uso de comentarios (#),un registro de nuestro proceso analítico. Crucialmente,nos permite replicar consistentemente una serie de procedimientos.

RMarkdown

Un documento RMarkdown (un archivo que termina con la extensión .Rmd ) contenercódigo ytexto,con el fin de producir un documento final legible tanto por la máquina,como por seres humanos (o sea,no sólo código). En ese sentido,es una mezcla entre un procesador de texto yR. Este libro fue escrito en RMarkdown,utilizando la librería bookdown. Creamos un nuevo archivo de RMarkdown usando el menú File,New File,RMarkdown... ysiguiendo el asistente.

El código en un archivo RMarkdown,escrito en R,está organizado en “chunks”,o bloques. Estos bloques deben estar delimitados claramente con los caracteres ` ` ` { r } y```. Agregamos bloques a un archivo RMarkdown con el botón oel atajo Ctrl + Alt + I. A continuación,veamos un bloque de código con el código ejecutado,seguido del resultado de la operación:

# # [ 1 ] 81

El texto en un RMarkdown usa trucos de un lenguaje llamado Markdown para darle formato a un documento de salida final). Este formato es ideal para realizar informes ytalleres oartículos yhasta libros. Puede producir documentos en formato .html,.pdf y.docx. Para crear archivos PDF,RMarkdown requiere tener LaTeX (un programa de composición de textos académicos ytécnicos) instalado en el computador (o si usamos la librería tinytex) . En RStudio Cloud ; solo tenemos que instalar librería de R comoknitr yrmarkdown. Pronto hablar sobre librería .

YAML

Todos los documentos RMarkdown deben empezar con un encabezado tipo YAML,delimitado por guiones (--- antes ydespués),que contiene información como título,autor,fecha yel tipo de archivo de salida deseado (HTML,PDF oWord,entre otros). Un ejemplo minimalista de un YAML es el siguiente:

---
title: "Introducción"
author: "Fortou"
output: html_document
---

Cuando creamos un nuevo RMarkdown en RStudio (File > New file > RMarkdown ohaciendo clic en el ícono ) podemos seleccionar el tipo deoutput deseado yal mismo tiempo llenar los campos básicos del YAML (las opciones title:,author: youtput:). Es posible personalizar el YAML yasí cambiar el “look” del producto de un RMarkdown,pero por el momento,trabajaremos con las opciones básicas.

Ejecutar código

En RMarkdown también podemos ejecutar código de distintas maneras:

  • Líneas de código individual conCtrl + Enter (debemos hacer click en la línea que queremos ejecutar).
  • Bloques de código específicos haciendo clic en el icono de “play” en cada bloque (Run current chunk ).
  • Usando las opciones del menú Run en el panel del archivo RMarkdown.
  • Usando Run all chunks above ,con esta opción,RStudio ejecuta todos los bloques anteriores.

Los resultados is aparecen aparecer en la consola odirectamente en el panel del archivo.Rmd ( otra de las ventaja de usar RStudio ) .

“Tejer” un RMarkdown

Para obtener un archivo tipo HTML oPDF con texto,código yresultados,debemos compilar el archivo RMarkdown completo. Cuando ejecutamos un archivo RMarkdown completo,o sea cuando lo “tejemos” ocompilamos con el botón Knit ,RStudio lee yejecuta todo lo que hay en el documento,incluyendo código ytexto ycrea un nuevo archivo según el output especificado en el encabezado YAML. La primera vez que tejemos un RMarkdown,RStudio nos pregunta si queremos instalar unas librerías; debemos hacerlo para poder utilizar estos archivos.

Un RMarkdown solo compila exitosamente si no hay errores en el código yen el texto. A veces puede ser frustrante no encontrar un error persistente,pero esto es parte del proceso de aprendizaje de cualquier lenguaje de programación. Sin embargo,hay unos lineamientos básicos. Por ejemplo:

  • Es necesario que el código esté en orden cronológico: no podemos calcular en la línea 5 una media de unos datos que solamente cargamos después,en la línea 10 oen un bloque de código posterior.
  • En los bloques de código solo debe haber código. Si hay texto,debe ir precedido de un # para marcarlo como comentario. Mientras,en el cuerpo del documento solo debe haber texto (si hay código,no se ejecutará como tal).
  • Es clave yaltamente recomendable cargar todas las librerías que vamos a utilizar al inicio del archivo,en un código dedicado a esto como el siguiente:
library( tidyverse )# no ejecutar,a menos que ya este instalada
# ya vamos a hablar sobre librerias...

Si todo compila correctamente,R producir undocumento en el formato que indicamos en el encabezado YAML del documento (por ejemplo,output: pdf_document producir un archivo is produce.pdf ,output : word_document producir un.docx para Word ). Por ejemplo,este libro está escrito en RMarkdown yproduce un archivo .html que se puede utilizar en una página Web. El texto aparece como esperaríamos que aparezca: como texto que podemos formatear si usamos trucos de Markdown. Mientras,el código aparece en cuadros resaltados ylos resultados del código -tablas,gráficas,resúmenes,etc.- aparecen en el documento final.

El documento creado por RMarkdown aparece en la misma carpeta donde está guardado el archivo .Rmd. Este documento es auto-contenido,así que lo podemos compartir a otras personas para que vean nuestros proceso,sin tener que descargar programas oejecutar el código ellos mismos. Así deben entregar los talleres de clase.

Finalmente,cada bloque de código tiene opciones sobre qué queremos ejecutar ymostrar. Podemos ver las opciones en el botón en cada bloque de código. Por ejemplo,eval = FALSE si queremos que el código allí no sea evaluado oejecutado el tejer el archivo,pero queremos mostrar el código:

O,al revés,con echo = false,vemos el resultado pero no el código,ideal para tablar,gráficos,limpieza de datos,etc. yla elaboración de artículos académicos oinformes:

# # [ 1 ] 100

Visual Markdown Editor

A partir de la versión 1.4.1103 de RStudio,es posible trabajar en un archivo de RMarkdown más parecido a Word u otros procesadores de texto. ¡Incluso incluye integración con el software de referencias bibliográficas Zotero! Para pasar al modo “Visual Markdown Editor” pueden hacer click en el ícono en la ventana del documento RMarkdown actual. En este sitio pueden aprender más sobre este modo: https://rstudio.github.io/visual-markdown-editing/#/.

Guardar

Con frecuencia,utilizamos ambos tipos de archivos: R scripts usualmente para análisis exploratorio “interno” yRMarkdown para entregas odocumentos que queremos compartir con otros (pero pueden usar RMarkdown para todo). Sean scripts odocumentos de RMarkdown,¡recuerden guardar el archivo para no perder sus avances!

Librerías

En R hacemos cosas usando funciones,objetos que le aplican operaciones a otros objetos. En otras palabras,una función tomarun input,le aplica una operación yproduce un output. Por ejemplo,si x es un objeto en R,f( x ) aplicar la funciónf() al objetox. Si la función f() está definida como f <- function( x ){x^2} (recordemos que en R,definimos algo al asignarle un nombre con <-,lo cual crea un objeto),entonces f( x ) tomarx ylo eleva al cuadrado (^2). En R,este proceso se ve así:

# Definimos la funcion
f <- function( x ){x^2}
# definir x
x <- 9
# Aplicamos la funcion f a x
f( x )
# # [ 1 ] 81

No tenemos que escribir ydefinir nosotros mismos todas las funciones que queremos utilizar. Por ejemplo,la función mear() ya existe en R; sirve para encontrar la media aritmética de un conjunto de datos numéricos. El código del siguiente bloque calcula la media del conjunto de números del 1 al 100:

## [1] 50.5

Las funciones is toman tomarargumentos. Por ejemplo,como acabamos de ver,la función mear() tomarcomo primer argumento (input) unos datos numéricos,calcula la media (le aplica una operación) yla imprime en la consola (output).

Las funciones pueden tomar argumentos adicionales. Podemos pensar en estos argumentos como opciones. Por ejemplo,si queremos hallar la media de un conjunto de datos que contiene un valor no disponible –designado en R como NA,debemos especificarlo en la función mear() utilizando el argumento na.rm = TRUE. Comparemos qué sucede cuando hacemos esto ycuando no lo hacemos:

# un vector de notas de clase
y <- c(30,35,35,50,NA,25,35,45,40,25)
# sin na.rm = TRUE
mear(y)
## [1] NA
# con na.rm = TRUE
mear(y,na.rm = TRUE)
## [1] 35.55556

Si no incluimos na.rm = TRUE ylos datos tienen un valor NA,la función mear() nos devuelve NA; por defecto,la función asume que na.rm = false. Pero si especificamos el argumento,recibimos el producto esperado.

Hay muchas otras funciones en R (cada una con sus propios argumentos),tales como data.frame(),head(),lm(),tibble() yggplot() que veremos a lo largo de este libro. Casi todo lo que hacemos en R es a través de funciones. Muchas de estas vienen incluidas en R,como mear(). En ese caso,decimos que son parte de “R base” porque están incluidas en la librería base que viene preinstalada yprecargada).

Pero otras funciones vienen de librerías adicionales. Las librerías son colecciones de funciones yexpanden lo que podemos hacer en R. En el espíritu colaborativo de R -al fin yal cabo,es un programa gratis-,los autores de estas librerías son usuarios de R,muchos de ellos profesionales de la estadística,la ciencia de los datos ylas ciencias sociales. Para usar las funciones de una librería existente,es necesario seguir dos pasos:

  1. Descargar e instalar la librería usando install.packages("nombre_librerio " ) una sola vez por computador opor proyecto en RStudio Cloud. Es un proceso automático ylo podemos hacer en el menú Tools,opción Install packages .
  2. cargar la librería a la sesión actual de R ejecutar el comandolibrary(nombre_librerio ) cada vez que abrir una sesión nueva de RStudio oRStudio Cloud .

La “metalibrería” tidyverse incluye varias librerías. Cuando la instalamos,R instala las siguientes librerías: ggplot2,dplyr,tidyr,readr,purrr,tibble,stringr,forcats,readxl,haven,jsonlite,xml2,httr,rvest,DBI,lubridate,hms,blob,magrittr yglue. Cuando la cargamos a la sesión de R,solamente carga las más usadas:

  • ggplot2: crear gráficas.
  • dplyr: transformar con datos.
  • tidyr: ordenar datos.
  • readr: cargar archivos con bases de datos.
  • purrr: aplicar función .
  • tibble: crear base de dato .
  • stringr: trabajar con datos de tipo texto.
  • forcats: trabajar con factor ovariable categórico .

Vamos a instalar tidyverse,pues usaremos estas librerías a lo largo de los instructivos de este libro. Para esto,escribimos yejecutamos la siguiente línea de código (se demora un par de minutos,pues contiene muchas librerías):

install.packages("tidyverse")

Si quieren,pueden revisar si está instalada:

"tidyverse" %in% rownames(installed.packages( ) )

Una vez instalada,podemos cargarla a la sesión actual de R:

Ahora,podemos usar funciones de estas librerías,como filter(),que sirve para filtrar bases de datos. En este caso,vamos a revisar unos datos que vienen con tidyverse para ver la lista de personajes de Star Wars que son androides:

# filter ( ) realizar un subconjunto de dato
# ver los personaje de Star Wars que son de la especie " Droid "
starwars %>%
  filter( species== " Droid ")
## # A tibble: 6 x 14
##   name   height  mass hair_color skin_color  eye_color birth_year sex   gender  
##   <chr>   <int> <dbl> <chr>      <chr>       <chr>          <dbl> <chr> <chr>   
## 1 C-3PO     167    75 <NA>       gold        yellow           112 none  masculi~
## 2 R2-D2      96    32 <NA>       white,blue red               33 none  masculi~
## 3 R5-D4      97    32 <NA>       white,red  red               NA none  masculi~
## 4 IG-88     200   140 none       metal       red               15 none  masculi~
## 5 R4-P17     96    NA none       silver,red red,blue         NA none  feminine
## 6 BB8        NA    NA none       none        black             NA none  masculi~
## #  ... with 5 more variables: homeworld <chr>,species <chr>,films <list>,
## #   vehicles <list>,starships <list>

Al principio de cada capítulo de este instructivo,encuentran la lista de librerías que se utilizan en el capítulo. Recuerden revisar primero que estén instaladas en el proyecto yluego cargarlas a la sesión con library ( ).

Errores comunes en R yRMarkdown

R puede tener una curva de aprendizaje empinada. Con frecuencia,nos chocamos de frente con código que no corre ono hace lo que queremos yR nos hace saber que estamos cometiendo un error. Vale aclarar que hay una diferencia entre advertencias (“warnings”) yerrores (“errors”). R corre código yproduce resultados pese a que haya advertencias (aunque el producto puede que no sea lo que esperábamos…),pero no lo hará cuando hay errores.

Si R les dice que hay un error,hay un error. La descripción del error aparece en la consola. Estas descripciones pueden ser crípticas,pero intenten buscarlas en Google – ¡seguro no son los primeros en encontrarse con un error en particular! StackOverflow es un gran recurso ymuchos resultados de Google nos llevarán allá.

Finalmente,en la consola,pueden ejecutar ? seguido del nombre de la funciónque provocó el error para abrir el manual de usuario de la función. Por ejemplo,si queremos saber cómo utilizar la función mear() para hayar una media:

RStudio avisa con una \(\times\ ) roja en la margen izquierda del script o RMarkdown si hay un error de sintaxis en el código (por ejemplo,si falta un paréntesis ounas comillas) incluso antes de que lo corran. No es infalible,pero ayuda.

La principal fuente de errores en R son errores de tipografía; básicamente,escribir algo mal,como el nombre de un archivo,una función ode otro objeto. R es sensible a las mayúsculas,a los acentos yotros caracteres especiales ya la puntuación,así que debemos revisar bien que estamos escribiendo View() yno view() omis_datos en vez deMIS_DATOS.

Otro error común es olvidar cerrar los paréntesis ocomillas. Por ejemplo,print(“Hello,world! (sin comillas ni paréntesis de cierre) hace que R crea que el comando aún no está terminado. En este último caso,la última línea de la consola mostrará un símbolo + en vez del> habitual . cancelir esto is Cancelen con la teclaEsc directamente en la consola yrevisen el código antes de seguir.

En líneas generales,los mensajes de error frecuentemente tienen tres partes. Por ejemplo,correr mear(z) sin haber definido z previamente arrojar el mensaje :“Error in mear(z) : object 'z' not found”. Por partes,esto nos dice que:

  • Error in” avisa que este mensaje señala un error.
  • mear(z)” es el pedazo de código ola función donde está el error.
  • : object ‘z’ not found” es el problema encontrado .

Hay una serie de errores frecuentes que todos los usuarios de R (novatos yveteranos) experimentan en su momento:

  • Error in eval yobject not found: suceden con frecuencia cuando estamos referenciando algo que no existe. Puede ser que hayamos escrito mal su nombre oque nunca lo hayamos creado como un objeto (utilizando el operador de asignación <-). Revisen la pestaña Environment: al hacer clic en el ícono pueden además explorar todos los objetos cargados por las librerías en uso.
  • Unexpected ‘ ) ’ in ...: tienen demasiados paréntesis mear( x )).
  • Unexpected constant in... ounexpected symbol in...: se nos olvidó una coma ounas comillas. Por ejemplo,rnorm(n = 100 mear = 5) arrojar un error porque faltar una coma entre el argumenton yel argumento mear de la funciónrnorm ( ).
  • Could not find function...: no hemos cargado la librería que incluye la función que queremos usar ono la hemos definido nosotros mismos.
  • Cannot open the connection...,cannot find ...,cannot open ... y...does not exist in current working directory: intentamos cargar un archivo de datos que no existe en el directorio (carpeta) oque no existe bajo ese nombre. Revisen que efectivamente está en el directorio yconfirmen el nombre del archivo.
  • Object of type 'closure' is not subsettable: estamos tratando una función como si fuera una lista,vector omarco de datos (por ejemplo,si intentamos ejecutar mear$x). Este es el “PC Load Letter” del mundo de R.
  • No applicable method for ...: estamos intentando aplicar una función a un tipo de objeto que no deberíamos.
  • Argument "no" is missing,with no default yargument "False" is missing,with no default: estamos usar una función comoif_else() sin darle la segunda condición (si esto,aquello,sino lo otro).

Cerramos brevemente con otras cosas importantes para tener en cuenta a la hora de “tejer” un archivo RMarkdown para producir un informe:

  • A veces copiamos código de un R script ode la consola a un RMarkdown. En esos caso,hay que tener cuidado de no pegar resultados de la consola oelementos como > (indica que R está listo para ejecutar un comando) y+ (indica que R cree que el último pedazo de código continúa en la siguiente línea),porque arrojan errores. Revisen bien que tienen en sus bloques de código.
  • Debemos cargar todas las librerías que utilizamos en el script yen orden cronológico (o sea,cargar la librería en una línea obloque previo a donde usamos las funciones de la misma). Como ya mencionamos,las librerías deben estar instaladas en el computador oen el workspace de RStudio Cloud. Es recomendable cargar todas las librerías a utilizar en un bloque al inicio del .Rmd.
  • Si cargamos un archivo de datos,este debe existir en un directorio ydebemos asegurarnos que lo estamos llamando por su nombre exacto,sin errores tipográficos ycon la extensión apropiada.
  • Si notamos que RMarkdown no evaluó como código algo que debía ser código,sino como texto normal,revisemos que abrimos ycerramos el bloque de código apropiadamente con ` ` ` { r } y```.
  • Si no aparecer el botón is aparece deKnit ,debemos asegurarnos que el archivo tiene extensión .Rmd (y no .R o.txt).

Recursos

Hay infinidad de recursos para R en la web. Algunos para las etapas iniciales,son:

  • Recursos de RStudio yRMarkdown:

  • Solución de problema en general sobre R :

  • Libros gratis sobre R,RStudio yRMarkdown:

Ejercicios

  1. Descargar e instalar R yRStudio en sus computadores; en caso de que no puedan,crear una cuenta en RStudio Cloud.

  2. Crear un proyecto de RStudio -puede llamarse “Laboratorio” oalgo similar- con dos carpetas: \data y\output. Este será el proyecto donde trabajarán los instructivos el resto del semestre.

  • Opcional : crear un proyecto de RStudio adicional para la investigación del curso .
  1. Instalar la librería tidyverse en RStudio.

  2. Crear un nuevo archivo de RMarkdown,guardarlo yejecutar una multiplicación (cualquiera) en un bloque de código.

  3. “Tejer” el archivo RMarkdown a un .html.