Guía Práctica de R y RStudio
Guía Práctica de R y RStudio
PID_00265511
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares de los derechos.
© FUOC • PID_00265511 Guía de RStudio
Índice
Introducción............................................................................................... 5
6. Glosario................................................................................................. 27
Resumen....................................................................................................... 29
© FUOC • PID_00265511 5 Guía de RStudio
Introducción
El uso de los programas de gestión de datos es una tarea cada vez más exten-
dida en los estudios internacionales. Si bien el conocimiento de este tipo de
programas no es un requisito indispensable en el mundo laboral en el ámbito
de las ciencias sociales, también es verdad que tener un dominio básico de
ello se está convirtiendo en una plataforma muy útil para acceder a puestos de
trabajo en este sector. Una primera aproximación del estudiante a la gestión
de datos es, pues, importante en dos sentidos. En primer lugar, realizar los pri-
meros pasos con estos programas puede ayudar a crear, en algunos estudian-
tes, el interés por el mundo de los datos y las ganas de continuar aprendiendo
el lenguaje de R u otros programas como por ejemplo Python, Stata o SPSS.
En segundo lugar, el aprendizaje inicial de un lenguaje como el de R dota al
estudiante de unas habilidades que le pueden facilitar oportunidades laborales
que requieran un conocimiento mínimo de la gestión y el análisis de datos.
• Explicar cómo se empieza un proyecto con RStudio, cuáles son los prime-
ros pasos y cómo se guarda un proyecto.
(1)
Con todo, también hay que tener en cuenta dos consideraciones. En primer Para guías más avanzadas, pro-
bad Advanced R ([Link]
lugar, nos tenemos que tomar esta guía como un manual de ayuda que nos
[Link]) o R for Data Science
permitirá dar los primeros pasos con un software desconocido hasta ahora para ([Link]
R�y�RStudio
¿Qué�haremos?
Esta guía inicial está estructurada de la manera siguiente. En primer lugar, ve-
remos cómo descargar y ejecutar los programas R y RStudio. En segundo lu-
gar, ejecutaremos el programa RStudio y explicaremos la interfaz, en especial
las cuatro ventanas con las cuales trabajaremos. Esta guía contiene ejercicios
prácticos y está pensada para ser utilizada en paralelo con RStudio. De este
modo, el estudiante podrá aplicar directamente en el programa las indicacio-
© FUOC • PID_00265511 7 Guía de RStudio
R y RStudio son dos programas diferentes que se tienen que bajar desde páginas
web diferentes. Necesitaremos, con todo, tener los dos programas instalados
para trabajar. R es el motor y tiene los engranajes suficientes para funcionar
de manera autónoma, pero su visualización es austera y poco práctica para un
usuario que se inicia en lenguajes de programación. RStudio, en cambio, no
es autónomo, necesita R para funcionar, pero incorpora muchas característi-
cas que facilitan su manejo, como por ejemplo ventanas, elementos visuales y
diferentes opciones que nos ayudarán a trabajar con R. Por lo tanto, nosotros
trabajaremos con RStudio pero necesitaremos tener los dos programas instala-
dos, puesto que RStudio no puede funcionar si no tenemos previamente ins-
talado R.
Figura 2. Bajar R: bajar el archivo .pkg en caso de trabajar con sistema operativo Mac.
Figura 3. Bajar R: seleccionar ‘Install R for the first time’ en caso de trabajar con sistema
operativo Windows.
Figura 4. Bajar R: bajar la última versión en caso de trabajar con sistema operativo Windows.
Recordad que, una vez bajados, tenéis que instalar los dos programas. Será
necesario que el programa R esté instalado en nuestro ordenador, pero no será
necesario ejecutarlo. Sí que instalaremos y ejecutaremos RStudio, que será el
programa con el cual haremos todas las operaciones.
© FUOC • PID_00265511 12 Guía de RStudio
• En la barra superior de la pantalla iremos a: File -> New File -> R�Script (al-
ternativamente podéis pulsar Ctrl+Shift+N). Normalmente la tecla equi-
valente al Ctrl en PC será la tecla Command en Mac.
• R acaba de crear una cuarta ventana con el nombre ‘Untitled1’ y la ha
ubicado en la parte superior izquierda del escritorio. Acabamos de crear un
script, una de las herramientas fundamentales para utilizar R. Lo primero
que haremos es guardar este documento en blanco (podemos guardarlo
clicando en el icono del disquete, pulsando Ctrl+S o bien yendo a File -
> Save As).
• Cuando intentemos guardar el documento, lo más probable es que por de-
fecto nos sugiera guardarlo en la carpeta “Documents” (o “Documentos”)
de nuestro ordenador. Lo más recomendable es crear una carpeta dentro
de la carpeta de la asignatura titulada ‘R Scripts’. tendremos que crear unos
cuantos y bajarlos durante el curso, por lo tanto tener una carpeta donde
guardarlos nos será útil.
© FUOC • PID_00265511 13 Guía de RStudio
2.1. Console
Código Retorno
1+1 [1] 2
1:50 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[21] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
38 39 40
[41] 41 42 43 44 45 46 47 48 49 50
En cada código, vemos que R nos devuelve primero un número entre corchetes
[1]. Este número, que encontraremos al comienzo de cada línea, nos indica
en qué posición se encuentra el primer valor de cada fila de toda la cadena de
valores que nos está mostrando. Como vemos, el primer valor de la primera
fila es el valor 1. Cuando llega a la segunda fila, ya nos ha mostrado 20 valores
y, por lo tanto, el primero de la segunda fila es el 21 en este ejemplo (en vuestro
ordenador puede aparecer un valor diferente). El primero de la tercera es el 41.
En este caso, el número entre corchetes nos coincide con el primer número
de cada fila, pero no tiene que ser así necesariamente. Si pedimos a R que nos
muestre los mismos números de una manera desordenada, veremos que ya no
coinciden. Por ejemplo, teclead sample(50) y pulsad Enter.
Tabla 2. Errores en R
Código Retorno
Si entramos los dos códigos de la tabla anterior veremos que nos da error. La
consola, en una anotación en rojo, nos indica en el primer caso que no ha
encontrado el objeto ‘R’. En el segundo caso, nos indica que ha encontrado un
símbolo que no ha entendido. En nuestro proceso de aprendizaje con RStudio
toparemos con decenas de errores en la consola. Tenemos que considerarlo un
hecho habitual, que con paciencia solucionaremos, y saber que el primer paso
para llegar a la solución requiere leer muy atentamente lo que comenta R en
estos mensajes en rojo.
que tienen más de un valor. Para crear estas cadenas de valores introduciremos El símbolo : en R
la letra c, seguida de paréntesis. Dentro de los paréntesis, separados por comas,
Cuando queramos pedir una
pondremos los valores que queramos. cadena larga de valores conse-
cutivos no hace falta que intro-
duzcamos cada uno de estos
La consola nos muestra los resultados de todas las operaciones que hacemos valores. El símbolo : es un ata-
jo que nos permite introducir
con R. En algunos casos, sin embargo, veremos que no nos devuelve ningún solo el inicio y el final. Si que-
remos imprimir los valores del
resultado. Esto pasa principalmente cuando creamos un objeto. Cuando ante- 1 al 100, solo hace falta que
riormente hemos creado el objeto R, no hemos recibido ninguna indicación en tecleamos 1:100.
2.2. Script
(3)
Veréis cómo todas las líneas del script están numeradas en la parte izquierda. Si queremos ordenar a R que lea
todo el script, de arriba abajo, ten-
A continuación tenéis, en el siguiente cuadro de color gris, varias líneas de
dremos que pulsar Ctrl+Shift+Enter
comandos. Copiadlas todas y pegadlas a la primera línea numerada de código en los PC y Ctrl+Shift+Command
en los Mac.
de vuestro script. Una vez pegadas, situad el cursor en esta primera línea de
código. A diferencia de la consola, para ejecutar un código o línea de comando
en el script tenemos que pulsar Ctrl+Enter en los PC y Command+Enter en
los Mac 3. Cada vez que ejecutáis una línea de comando en el script, el cursor
saltará al inicio de la línea siguiente. Ejecutad todas las líneas del script hasta
llegar a la última.
En este simple proceso hemos realizado varias cosas que tenemos que tener en
cuenta para saber cómo funcionan las órdenes que damos al script. Lo primero
que tenemos que saber es que el símbolo # (almohadilla) desactiva todo el resto
de información que haya en la misma línea de comando. Esto sucede tanto en
la primera línea con #Base de datos Mtcars como la tercera línea, donde a
partir de la aparición de la almohadilla, R entenderá que tiene que dejar de leer
el código en esta línea y pasar a la línea siguiente. La almohadilla, pues, nos
será muy útil para hacer anotaciones. Podemos utilizarlo, por ejemplo, como
título para indicar las operaciones que vendrán a continuación, y también
podemos utilizarlo al final de una operación para dar algún detalle sobre la
línea en cuestión.
Finalmente, hay que señalar que cuando pedimos a R que lea una línea, el
programa nos saltará automáticamente a la siguiente si interpreta que el códi-
go no está finalizado. Los códigos de R no acaban nunca con una coma. Como
la última línea del código anterior acaba con una coma, R ha pasado a leer
automáticamente la línea siguiente. Hay otros símbolos, como un paréntesis
abierto ((), una comilla abierta (") o un símbolo de suma (+) que requieren
© FUOC • PID_00265511 17 Guía de RStudio
código a su derecha. R interpretará que tiene que continuar leyendo y/o saltar
de línea si es necesario. Los saltos de línea nos son útiles para organizarnos el
código y facilitar nuestra lectura.
Utilizar el script para apuntar todos los pasos que vamos siguiendo cuando
creamos y desarrollamos códigos es muy útil tanto para nosotros como para
terceras personas. Nosotros nos aseguramos de conservar en detalle todo el
procedimiento que hemos seguido para generar unos datos determinados. Así,
podemos repetir el procedimiento en cualquier momento, cambiarlo o bien
examinarlo para detectar posibles errores. Anotar los códigos en el script tam-
bién ayuda a nuestro rol de analista de datos de cara a terceras personas. Si
queremos compartir nuestro trabajo, no hará falta que guardemos y enviemos
varias tablas y gráficos. A veces tampoco será necesario que guardemos una
base de datos. En un simple script, que ocupa poquísimo en nuestro ordena-
dor, tenemos detallado todo el procedimiento, de forma que la otra persona
solo tendrá que reproducir en su ordenador los códigos que hemos preparado.
2.3. Environment
Los objetos también se pueden eliminar. Para eliminar uno concreto, introdu-
cid el nombre del objeto dentro de la función rm() o remove(). Se pueden
eliminar todos los objetos con la función rm(list=ls()).
Encima del apartado ‘Global Environment’ encontramos ‘Import Dataset’. Utilizar archivos de Excel,
Con este apartado podremos importar diferentes bases de datos a R. Lo más Stata y SPSS
sencillo es bajar ficheros con extensión .csv o .txt . Si queréis importar ficheros Las librerías más comunes pa-
en formato Excel, Stata o SPSS, R os pedirá que bajéis la librería necesaria pa- ra bajar bases de datos de Ex-
cel son readxl y gdata, mien-
ra poderlos importar en cada caso. Lo ideal es importar datos usando código, tras que para Stata y SPSS utili-
zaremos los paquetes haven o
puesto que nos permite replicar un comando en otros ordenadores, pero tam- foreign.
bién es útil saber que podemos importar manualmente bases de datos desde
la ventana Environment.
Las otras pestañas de esta ventana no las usaremos. ‘History’ hace una recopi-
lación de los procedimientos que ha hecho RStudio en la sesión actual. Podéis
echar un vistazo para ver el historial de operaciones que habéis hecho hasta
ahora.
2.4. Files
Como veis, esta ventana tiene varias pestañas: ‘Files’, ‘Plots’, ‘Packages’, ‘Help’
y ‘Viewer’. En la pestaña ‘Files’ nos tendría que aparecer la carpeta de nuestro
ordenador donde R irá por defecto a buscar los archivos, que acostumbra a
ser la carpeta ‘Documents’ o ‘Documentos’. R necesita una carpeta de nuestro
© FUOC • PID_00265511 19 Guía de RStudio
ordenador para operar. Será donde nos guardará las bases de datos que expor-
tamos y el primer lugar donde irá a buscar las bases de datos que queramos
importar. Esta carpeta la denominaremos directorio de trabajo. Podemos con-
sultar el contenido del directorio de trabajo por medio de dir() y su ubica-
ción dentro de nuestro ordenador con getwd().
Si tenemos una carpeta especial donde queramos tener todos los archivos que
vamos generando con R, será conveniente indicarla como directorio de traba-
jo para facilitarnos el trabajo. Podemos, por ejemplo, ir a la carpeta de la asig-
natura que tengamos creada en nuestro ordenador y crear dentro una nueva
carpeta llamada ‘R Docs’. Una vez estemos en esta nueva carpeta, tenemos
que especificar a R que queremos fijarla como directorio de trabajo. Para cam-
biar manualmente la ubicación del directorio de trabajo, lo podemos hacer
mediante los tres puntos suspensivos (...) que encontramos en el extremo de-
recho de la ventana ‘Files’. Una vez hayamos seleccionado el nuevo directo-
rio de trabajo, podemos ir al engranaje azul de la ventana ‘Files’ y marcar ‘Set
As Working Directory’. Este proceso también se puede hacer por medio del
script con la función setwd(), en que dentro de los paréntesis especificaremos
la dirección de la carpeta. Por ejemplo, ponemos poner setwd("C:/RRII/
Indicadores/R") en PC y setwd("H:\\myfolder\\data") con Mac. De
manera semiautomática tenemos la opción setwd([Link]()).
• Paquetes cargados: para que R pueda trabajar con el paquete, tiene que estar
cargado. Si nos encontramos con problemas cuando hagamos una deter-
minada operación con R, es muy posible que el paquete no esté cargado.
Lo podemos cargar de dos maneras:
– Manualmente, activando el paquete que nos interese de la lista con el
cuadradito que aparece a su lado. R nos lo cargará automáticamente.
Si no aparece en la lista, lo tendremos que instalar (ved el apartado
anterior).
– Una segunda opción para instalar y cargar los paquetes es desde la con-
sola o el script. Para hacerlo, utilizaremos la función library(). No
podemos cargar varios paquetes a la vez. Los tendremos que cargar in-
dividualmente. Por ejemplo: library(dplyr), library(ggplot2),
library(tidyr).
Las librerías o paquetes son los manuales que consulta R para poder trabajar.
Para hacer un símil con los estantes de libros que tenemos en casa, diremos
que después de instalar R en nuestro ordenador, el programa tiene en su estu-
dio una estantería gigante con la mayoría de estantes vacíos. Solo tiene unos
cuantos libros básicos que ya vienen incorporados en el programa y que R ya
se sabe de memoria. Estos libros son los que podemos ver inicialmente en la
pestaña de Global Environment o bien si tecleamos search(). Con lo que ha
aprendido de estos libros, R sabe hacer operaciones básicas como por ejemplo
sumar y restar, crear gráficos sencillos y algunas cosas más.
El paso siguiente es decir a R que nos lea de arriba abajo algunos de los li-
bros con la función library(). Los libros son como manuales de instruccio-
nes. Cuando decimos a R library(jardineria), el programa lee el manual
de jardinería con décimas de segundo. De repente, R ya sabe absolutamen-
te todo lo que se tiene que hacer para ser un buen jardinero. Si le decimos
library(carnetB), R se sacará el carnet B de conducir en pocas décimas de
segundo y estará preparado para pilotar el coche que le indiquemos.
La cuestión es, pues, llenar la librería de libros que necesitemos para tenerlos
fácilmente al alcance e indicar a R que lea los manuales que utilizaremos para
hacer las operaciones que necesitaremos. De base, R ya tiene algunos conoci-
mientos. Sabe sumar, restar, hacer varias operaciones, crear objetos, leer bases
de datos, dibujar algunos gráficos..., pero nosotros le pediremos mucho más.
Principalmente, le diremos que aprenda a hacer tres tareas. La más importante
es la de manipular bases de datos. R aprenderá a crear y eliminar columnas y
filas, ordenar filas o hacer operaciones estadísticas más sofisticadas. Esto nos
lo permitirá un libro cuyo lomo dice dplyr. Una segunda tarea que también
nos será muy útil es la de dibujar gráficos complejos. Esto nos lo permitirá ha-
cer el manual ggplot2. Finalmente, también utilizaremos tidyr, un paquete que
manipula las filas y las columnas de las bases de datos. Hay más paquetes que
utilizaremos, como por ejemplo readxl, stringr o lubridate, pero ya hablaremos
de ellos más adelante.
© FUOC • PID_00265511 22 Guía de RStudio
library(dplyr)
library(tidyr)
library(ggplot2)
© FUOC • PID_00265511 23 Guía de RStudio
(4)
En primer lugar, hemos puesto un título de encabezamiento precedido por la Fijaos en la diferencia entre escri-
bir "dplyr" o “dplyr”. R reco-
almohadilla (#). Como sabéis, cuando RStudio ve que hay una almohadilla
nocerá el primer término pero nos
delante de una línea, entiende que no tiene que leer nada a partir del símbolo dará error en el segundo caso.
que haya en la misma línea. A nosotros, en cambio, nos irá bien para hacer
anotaciones en el script. En #INSTALL instalamos los tres paquetes básicos
que utilizaremos. Recordad que los paquetes se instalan con comillas. Mucho
cuidado si copiamos y pegamos códigos con comillas desde programas como
por ejemplo Word. Normalmente, estos programas redondean o inclinan las
4
comillas . Si enganchamos estas comillas modificadas a RStudio, el programa
no entenderá qué símbolo son y nos dará error.
Para instalar los paquetes tenemos que estar conectados a internet, puesto que
R va a buscarlos en la biblioteca CRAN. Veremos que la instalación de algunos
paquetes puede tardar un rato, en especial la de ggplot2. Paciencia. Sabréis si
R todavía está procesando si hay una señal roja de stop en el margen superior
izquierdo de la ventana de la consola.
Una vez instalados los paquetes, los tendremos que cargar o activar. Pode-
mos hacer la misma operación que antes y marcar con una almohadilla # el
inicio de otro proceso. En este caso, hemos puesto #PACKAGES. Los paque-
tes se tienen que cargar por separado: library(tidyr), library(dplyr) y
library(ggplot2). Normalmente solo necesitaremos instalar una sola vez
© FUOC • PID_00265511 24 Guía de RStudio
Prueba�ggplot2
qplot(mtcars$mpg)
Prueba�dplyr
filter(mtcars, mpg > 25)
Con las indicaciones dadas hasta aquí ya podéis repetir las instrucciones del
manual de la asignatura en vuestro ordenador. Personalizad el script a vuestra
manera e id introduciendo las líneas de comandos.
© FUOC • PID_00265511 25 Guía de RStudio
No hay programador o analista de datos, por más que sepa, que no cometa de-
cenas de errores cuando utiliza R. Las horas invertidas en el programa y nues-
tra familiarización con el entorno, manuales de ayuda o foros determinarán
nuestra capacidad de poder resolver estos errores. Por lo tanto, al principio
tendremos que tener mucha paciencia, puesto que todavía tendremos pocos
recursos para poder resolver las situaciones que nos sobrevengan.
En la tabla 4 se ofrece una guía de los problemas más habituales con que el
usuario se puede encontrar en las primeras horas de R. Obviamente, no es una
lista exhaustiva, pero nos puede ayudar a identificar y resolver más de un error.
4 Si copiamos los datos primero en un Word y después en RStudio nos podemos encon-
trar un problema de formato. Por ejemplo, Word modifica las comillas "_" de los códi-
gos para hacerlas más redondeadas o inclinadas, y en este formato RStudio no enten-
derá el significado.
5 Es un error muy común copiar los datos de manera inexacta. Fijaos bien en la orienta-
ción de las barras, puesto que no es lo mismo \ que /. Haced un recuento del número
de paréntesis que abrís en una línea de código, puesto que por cada paréntesis ( que
abrimos tendrá que haber otro ) que cierre.
6 Cuando en la consola nos sale + es que R espera instrucciones, que no hemos acabado
bien el código y que posiblemente falta cerrar un paréntesis o unas comillas.
7 No pongáis nunca un # ante una línea de código. Las líneas de código que R tiene que
interpretar tienen que estar libres delante.
A medida que vamos ganando más experiencia con R, cada vez seremos más
capaces de entender cuál es el error si leemos el texto que R nos devuelve en la
consola. Por ejemplo, con “unexpected symbol” o “unexpected end of
input” es muy posible que haya algún problema de tecleo en el código y que
tengamos que revisar que todos los paréntesis estén cerrados, los caracteres
© FUOC • PID_00265511 26 Guía de RStudio
entre comillas y los nombres de los objetos y las funciones entrados correcta-
mente. Si en la consola aparece un “+” es porque R espera que añadamos algún
comando más para completar el código.
© FUOC • PID_00265511 27 Guía de RStudio
6. Glosario
Glosario�de�atajos�con�el�teclado�(PC)
Glosario�de�funciones�y�operadores�del�módulo
Resumen