7 Paquetes en R

En este capítulo regresaremos a la discusión de las funciones en R. Ya discutimos ampliamente los objetos (Capítulos 4 y 5 ). Ahora centremos la atención en las funciones en el lenguaje R. Recuerda que las funciones permiten desarrollar tareas con objetos.

En el Capítulo 4 discutimos que los comandos en R se dividen en dos grandes tipos: asignaciones y expresiones. Las asignaciones sirven para guardar datos en objetos. Las expresiones, más conocidas en la comunidad de R como funciones, son una o más ordenes que le damos a R para que actúe sobre objetos.

R tiene un Core (Núcleo o base) principal que incluye funciones que conforman la parte central de R. Todas las que hemos discutido hasta ahora hacen parte del Core. Pero precisamente, una de las fortalezas de R, es su capacidad de expandirse para realizar diferentes tareas. La comunidad de R ha construido paquetes que incluyen diversas funciones tanto como para hacer tareas específicas, así como generales.

En otras palabras, los paquetes de R son un conjunto de funciones y bases de datos desarrollados por la comunidad. Aumentan la potencia de R mejorando las funcionalidades básicas de R existentes o añadiendo otras nuevas.

O dicho de otra manera, en R la unidad fundamental de código compartible es el paquete. Un paquete agrupa funciones y datos que se acompañan con documentación y ejemplos (de ahí la necesidad de incluir datos en los paquetes).

El primero de agosto del 2022, estaban registrados 18,183 paquetes disponibles en la Comprehensive R Archive Network (CRAN). CRAN es el espacio virtual en donde descargaste el R (su Core) y donde está el repositorio de los paquetes “oficiales” de R. Recuerda que hay muchos mirrors de CRAN al rededor del mundo que facilitan el acceso a este repositorio.

También podemos encontrar otros paquetes “no oficiales” de R en otros repositorios. Pero los que se encuentran en CRAN siguen el mismo formato y cuentan con toda la documentación necesaria para entender qué hace cada una de las funciones que lo componen, así como la descripción de las bases de datos que incluyen. Y mejor aún, si se desea se pueden modificar las funciones de los paquetes de ser necesario.

La enorme variedad de paquetes es una de las razones por las cuales R tiene tanto éxito. De hecho, es muy probable que alguien ya haya creado un paquete para realizar la tarea o resolver el problema en el que estás trabajando. Y si no existe, ¡tienes la oportunidad de crear uno y contribuir a esta comunidad!

Para instalar un paquete en R podemos usar la función install.packages() . El argumento de esta función es el nombre del paquete y se expresa entre comillas; es decir,

install.packages("nombre del paquete")

Adicionalmente, podemos emplear el menú de “Tools”. Haz clic en Tools | Install Packages.... También se puede llegar a la misma parte a través de la pestaña Packages en el panel inferior derecho de RStudio, aquí podemos dar clic en install y aparecerá una nueva ventana en donde puedes escribir el nombre del paquete que deseas instalar (como se muestra en la Figura 7.1). Ahí también puedes seleccionar el mirror desde el cuál quieres descargar el paquete. Todos los mirors al rededor del mundo están sincronizados, así que no hace diferencia el mirror que se escoja encontrarás los mismos paquetes siempre. La gran diferencia es la velocidad de descarga. En principio, entre más cerca geográficamente estés de un mirror, mayor velocidad de descarga de los paquetes. La primera vez que instalemos un paquete, aparecerá un cuadro de diálogo en el que se nos pide elegir el CRAN mirror más cercano (Ver Figura 7.1).

Figura 7.1: Instalación un paquete empleando menús

Instalación un paquete empleando menús
Fuente:Esta captura de pantalla fue tomada de RStudio.

Las funciones y demás material de un paquete de R se almacenan en una library. Técnicamente, una library es un lugar (directorio) donde R guarda en tu computador, y por tanto, sabe que ahí encontrará el paquetes que se quiere usar.

En otras palabras, un paquete es una colección de funciones y datos. La ubicación donde se almacenan los contenidos de un paquete se llama library. Por tanto, para decirle a R que use un paquete (para “cargarlo”) se emplea la función library() . El argumento es el nombre del paquete que se quiere cargar (no se emplea comillas).

Es importante aclarar que para ahorrar memoria y mejorar el desempeño, cada vez que inicies una sesión en R no se cargan paquetes. Dependiendo de la tarea que realices cargarás los paquetes adecuados para dicha labor.

Una vez instalado un paquete la librería será creada y no será necesario instalar de nuevo el paquete. No obstante, para usar el paquete, debemos pedirle a R que los active en cada sesión. Así, para usar los paquetes es necesario emplear la función library() para cargarlos.

Otra opción, menos elegante, es emplear la pestaña Packages que se encuentra en el panel inferior derecho en RStudio. Puedes cargar los paquetes haciendo clic en los cuadros que se encuentran a la derecha de cada paquete (Ver 7.2). Aquí también encontrarás la descripción de cada uno de los paquetes.

Figura 7.2: Pestaña Packages.

Pestaña `Packages`.
Fuente:Esta captura de pantalla fue tomada de RStudio.

7.1 Comentarios finales

Los paquetes agregan gran versatilidad a R. Hacen que R no tenga comparación con otros lenguajes o software disponibles. Como vimos en este capítulo es muy sencillo instalarlo y cargarlos. Así que ya tienes a tu disposición todos los paquetes disponibles en CRAN. Es virtualmente imposible hacer un recorrido en un libro sobre todos los paquetes disponibles en R y cómo usarlos. Puedes buscar los paquetes disponibles en CRAN por tema en el siguiente enlace: https://cran.r-project.org/web/views/. Ahí veras la variedad de temas para los que existen paquetes. Si quieres un listado en orden alfabético de estos paquetes lo puedes encontrar en este otro enlace: https://cran.r-project.org/web/packages/available_packages_by_name.html.

En todo caso, los paquetes te permitirán explorar y analizar los datos. Precisamente, la intención del Capítulo 8 es discutir cómo cargar bases de datos en R que después podrás analizar con los diversos paquetes disponibles en R.