2  Paquetes

RStudio es parecido al sistema operativo Windows. Cuando acabamos de comprarlo y lo abrimos, está prácticamente vacío. No tiene ningún programa instalado. Si queremos que Windows nos sirva de algo, deberemos instalar programas como Word, Excel y algún navegador. Con R sucede lo mismo: cuando abrimos R por primera vez, está más bien vacío por dentro de serie. Tiene incorporados algunos pequeños programas (a partir de ahora llamaremos paquetes o librerías a los programas de R), pero los programas más potentes y que los usuarios utilizan más a menudo no vienen instalados de serie. En Windows, lo más normal es que debamos invertir cierto dinero en comprar e instalar programas. En R no hay que comprarlos porque todos son gratis. Lo que sí que tendremos que hacer será instalarlos.

2.1 Los paquetes de serie

Hay unos paquetes de R que ya nos vienen instalados de serie. Para ver cuáles son, una opción que tenemos es ir a la pestaña Packages, que está en la ventana Files. Toda la lista que aparece son los programas que tenemos instalados. La otra opción es hacer la consulta a través de la consola. Probemos a teclear installed.packages() en la consola.

Paso 4. Observa qué paquetes tienes instalados

Ahora interactuaremos por primera vez con R a través de la consola. En la flecha se indica dónde podemos escribir texto.

Probemos a teclear lo siguiente:

installed.packages()

Pulsa Enter en el teclado para ejecutar la acción.

Acabamos de dar nuestra primera orden a R. ¡Y nos ha respondido! R siempre utilizará la consola para responder a nuestras peticiones. Por eso antes hemos definido la consola como el instrumento que utilizamos para interactuar con R. Una forma de interacción que tenemos al alcance es usar R como una calculadora. Si le preguntamos por el resultado de algunas operaciones matemáticas, también nos responderá a través de la consola.

Paso 5. Calcula

Ahora usaremos la consola como calculadora. Introduce, una por una, las operaciones siguientes y pulsa Enter para ejecutar la acción.

2 + 2 + 2
10 / 5
(10 + 2) / 100

La consola debería darnos el resultado de cada operación.

2.2 Instalación de nuevos paquetes

Errores de instalación

A veces pueden surgir errores a la hora de instalar paquetes. Estas son algunas de las posibles causas:

  • No tenéis conexión a internet.
  • No habéis puesto c() o bien no habéis separado cada paquete por una coma (consultad las reglas básicas para instalar paquetes).
  • No habéis incluido "entre comillas" el nombre de cada paquete.
  • Si no es ninguna de estas causas, es posible que debáis consultar el Laboratorio R (ved el aula).

Dado que ya hemos visto que no tenemos muchos paquetes instalados en R, a continuación pediremos a R que instale algunos nuevos, que son los más utilizados por los usuarios de R: dplyr (Wickham, François, et al., 2023), ggplot2 (Wickham, Chang, et al., 2024), tidyr (Wickham, Vaughan, et al., 2024), readxl (Wickham & Bryan, 2023) i readr (Wickham, Hester, et al., 2023)1.

  • 1 Otra opción es instalar directamente el paquete tidyverse (Wickham, 2023), que contiene todos los paquetes anteriores y algunos más. No obstante, aquí preferimos utilizar los paquetes individuales por dos motivos: nos ayudará a familiarizarnos con cada paquete; no nos ocupará tanto espacio ni tanta memoria RAM en el ordenador.

  • Lo haremos con una función muy parecida a la anterior, install.packages(), que sirve para instalar paquetes.

    Paso 6. Instala los primeros paquetes

    A continuación, instalaremos los paquetes siguientes. Más adelante conoceremos qué hace cada uno. Teclea o copia y pega el código siguiente en la consola y pulsa Enter.

    install.packages(c("dplyr", "ggplot2", "tidyr", "readxl", "readr"))

    Quizá os preguntará si queréis instalar los paquetes que necesitan compilación. Pulsad Y. Es posible que el proceso tarde unos minutos en completarse.

    Hay que seguir dos reglas básicas a la hora de instalar los paquetes en R:

    • Si instalamos solo un paquete, por ejemplo, un paquete que se llame "paquete1", teclearemos install.packages("paquete1").
    • Si, en cambio, instalamos dos o más paquetes, escribiremos una c() dentro de la primera función y separaremos cada paquete por una coma, por ejemplo, install.packages(c("paquete1", "paquete2")).

    Si ahora volvemos a teclear installed.packages() (paso 4), veremos que tenemos más paquetes instalados en R2. Por ahora, solo hemos instalado cinco paquetes nuevos, pero es posible que más adelante necesitemos algún otro paquete, que también deberemos instalar siguiendo el mismo procedimiento.

  • 2 Para visualizar más directamente los paquetes instalados, pulsad names(installed.packages()[,1]).

  • 2.3 Carga de paquetes

    Continuando el símil con Windows, cuando instalamos Microsoft Word no significa que el programa ya esté en funcionamiento. Si queremos que Word funcione, obviamente deberemos abrir el programa. Con R sucede lo mismo. Tener un paquete instalado no quiere decir que esté funcionando en R. En R, en lugar de «abrir programas» decimos «cargar paquetes». Si volvemos a la ventana Packages (es una pestaña de la ventana Files), podremos ver qué paquetes tenemos instalados y cuáles tenemos instalados y cargados.

    • Todos los paquetes que aparecen en la lista están instalados (1).
    • Pero solo los que tienen un check también están cargados (2).

    Hay dos maneras más de ver los paquetes que tenemos cargados: introduciendo la función search() en la consola o clicando en el botón Global Environment de la ventana Environment.

    Paso 7. Comprueba los paquetes instalados y cargados

    Escribe la función installed.packages() en la consola y pulsa Enter para ver los paquetes que ahora tienes instalados.

    installed.packages() 

    Y ahora escribe la función search() para ver los paquetes que tienes cargados.

    search() 

    Como vemos, tenemos instalados los paquetes dplyr, ggplot2, tidyr, readxl y readr, pero todavía no los tenemos cargados. Y, si no los tenemos cargados, no los podremos usar. Para cargar paquetes, utilizaremos la función library().

    Paso 8. Carga los paquetes

    Carregarem, un per un, els paquets que hem instal·lat prèviament. En primer lloc, carregarem el paquet dplyr. No oblidis de prémer Enter.

    library(dplyr)

    Cuando cargues dplyr debería aparecerte un mensaje en la consola. A continuación, carga el paquete ggplot2.

    library(ggplot2)

    Amb ggplot2 la consola normalment no ens dona cap resposta. És normal. Segueix. En tercer lloc, carrega el paquet tidyr.

    library(tidyr)

    Y, finalmente, carga el paquete readxl.

    library(readxl)

    Puedes comprobar que tienes los paquetes cargados con search().

    Para que un paquete se pueda utilizar en R, deberá estar instalado y cargado. Es muy importante saber distinguir entre instalar un paquete y cargarlo:

    • Los paquetes solo se instalan una vez cada cierto tiempo. Pueden pasar años hasta que reinstalemos un paquete. Normalmente, necesitaremos volver a instalar un paquete en un futuro, si aparece una nueva versión y nos conviene actualizarlo. Los paquetes instalados ocupan espacio en la memoria de nuestro ordenador.
    • En cambio, los paquetes se deben cargar cada vez que entramos en RStudio o abrimos un nuevo proyecto. Lo haremos, uno por uno, con la función library()3. Los paquetes cargados usan memoria RAM. Por eso, cada vez que salimos de RStudio, los paquetes se descargan para no hacer más lento el funcionamiento de nuestro ordenador.
  • 3 Hay otras maneras más rápidas de instalar paquetes. Si primero instalamos y cargamos el paquete pacman, podemos cargar todos los paquetes con la función pload(). Por ejemplo: p_load(dplyr, tidyr, ggplot2, readr, readxl)). Más información.

  • 2.4 Apertura de un paquete

    Abrir paquetes siempre hace ilusión. Para entender cómo abrir los paquetes que tenemos instalados y cargados en R, podríamos hacer un símil con los archivos comprimidos .zip. Cuando abrimos un .zip, podemos encontrarnos con todo tipo de documentos. Los paquetes son algo parecido y almacenan objetos y funciones que nos resultarán muy útiles para trabajar con R.

    Podemos ver el contenido de un paquete de dos maneras:

    1. En la ventana Environment, hacemos clic en Global Environment y seleccionamos el nombre del paquete.

    1. En la consola tecleamos el nombre del paquete seguido de ::. Fijaos en que también nos aparece un pequeño panel de ayuda para cada elemento del paquete.

    Paso 9. Abre un paquete

    Intentemos abrir el paquete base, que es uno de los que tenemos instalados y cargados por defecto en R. Tecleamos su nombre en la consola seguido de dos :: (¡OJO!: si copias y pegas el código, no se te abrirá el desplegable. Debes teclear el nombre del paquete, que te aparecerá cuando escribes los ::).

    base::

    La lista que nos aparece contiene todos los objetos y funciones del paquete, ordenados alfabéticamente. Podemos deslizar hacia arriba y abajo de la lista para verlos todos. Busca primero el objeto pi y pulsa Enter.

    base::pi

    Vemos que aparece el número pi. Haz lo mismo con letters y LETTERS.

    base::letters
    base::LETTERS

    No hace falta que pongamos siempre el nombre del paquete delante el objeto o función que queremos utilizar. Siempre que el paquete esté cargado, también podremos visualizar cualquier objeto solo introduciendo el nombre.

    pi
    letters
    LETTERS

    En este último caso, nos ha reproducido los objetos pi, letters y LETTERS porque el paquete base está cargado. Si no tuviéramos el paquete cargado, no nos los reproduciría.

    2.5 El objeto Star Wars

    Ya hemos avanzado mucho con el dominio de R. Ordenemos un poco lo que hemos aprendido hasta ahora:

    • Para trabajar con R, necesitamos paquetes, que deberemos tener instalados previamente.
    • Los paquetes se activan, uno por uno, con la función library().
    • Los paquetes contienen principalmente objetos y funciones.
    • Trabajar con R consiste, básicamente, en aplicar funciones a objetos.

    Ponemos en práctica todas estas ideas con el ejercicio siguiente, donde veremos con unos cuántos ejemplos como interactúan los objetos y funciones de los paquetes de R.

    Ejercicio 1: Starwars

    En R tenemos varios paquetes de serie, que no es necesario que instalemos ni carguemos. Por ejemplo, dentro del paquete base tenemos la función Sys.time(), que nos permite saber qué hora es.

    Sys.time()

    Con R, también nos viene de serie el paquete datasets. Teclearemos datasets:: en la consola y, cuando aparezca el desplegable, seleccionaremos alguno de los objetos que contiene y pulsaremos Enter. Recordad que debéis teclear el nombre del paquete, no copiar y pegar.

    datasets::

    Ahora exploraremos el paquete dplyr. Si tenemos cargado el paquete, deberá mostrárnoslo cuando tecleemos dplyr::. Bajaremos por el desplegable hasta el final de todo.

    dplyr::

    ¡Hay muchísimas cosas dentro del paquete dplyr! Entre otras, el objeto starwars. Dado que tenemos el paquete cargado, solo necesitamos teclear el nombre del objeto para visualizarlo.

    starwars

    Nos interesa saber más sobre starwars. Echaremos un vistazo a todas sus variables con la función glimpse(), que también forma parte del paquete dplyr.

    glimpse(starwars)

    Parece que este marco de datos contiene las características de todos los personajes de Star Wars. Buscaremos en internet y encontraremos que en la web de dplyr hay una breve descripción de las variables. La primera variable, name, recoge los nombres de los personajes. Pediremos los nombres únicos con unique() y los ordenaremos alfabéticamente con sort().

    sort(unique(starwars$name))

    La variable height contiene la altura de cada personaje. Visualizaremos la distribución de los valores en un histograma con la función hist().

    hist(starwars$height)

    Observad que los gráficos se abren directamente en la pestaña Plots. Ahora queremos saber cuántos personajes de cada sexo hay, según se indica en la variable sex. Crearemos una tabla de frecuencias con table() y la visualizaremos con la función barplot().

    barplot(table(starwars$sex))

    Finalmente, queremos contar con la función count() del paquete dplyr cuántos personajes hay contabilizados en cada planeta (homeworld).

    count(starwars, homeworld)

    R solo nos muestra las diez primeras observaciones de la lista a la consola. Visualizaremos el objeto entero con View() en una ventana nueva.

    View(count(starwars, homeworld))

    Cuando acabéis, cerrad la ventana que se acaba de crear.

    En este ejercicio 1 hemos simulado el procedimiento habitual que seguiremos para trabajar con R, que consiste en aplicar funciones a objetos. Esto significa que necesitamos dominar principalmente dos cosas:

    Más Starwars

    En la página principal del paquete dplyr encontraréis más ejemplos de funciones que podemos aplicar al objeto starwars.

    • Crear objetos como starwars que contengan datos sobre temas que nos interesen.
    • Conocer las funciones como glimpse() que sirvan para modificar y analizar los objetos que hemos creado. Sin embargo, antes necesitamos conocer un elemento esencial que nos permitirá ordenar todo nuestro trabajo con objetos y funciones: el script.
    Paso 10. Elabora una lista de funciones

    Para aprender a utilizar R más rápidamente, es bueno que hagas una lista de las funciones que vas aprendiendo. Apunta el nombre de la función, el paquete al que corresponde y una breve descripción de su utilidad.

    Función Paquete Descripción
    installed.packages() utils Vemos paquetes instalados
    install.packages() utils Instalamos paquetes
    search() base Vemos paquetes cargados
    library() base Cargamos un paquete
    glimpse() dplyr Observamos variables

    Para saber el paquete en el que se encuentra cada función, solo es necesario que introduzcas el nombre de la función en la consola. En el desplegable aparece el nombre del paquete. Verás, por ejemplo, que la función hist() corresponde al paquete graphics.