El archivo DESCRIPTION (Creación de paquetes en R 2ª parte)

Publicado el 01 mayo 2020 por Daniel Rodríguez @analyticslane

En la entrada de la semana pasada hemos creado la estructura de un paquete R con la ayuda de RStudio y el paquete devtools. En la entrada de esta semana vamos a ver como configurar el paquete modificando el archivo DESCRIPTION e incluir las primeras funciones.

El archivo DESCRIPTION

Al crear la estructura del paquete R la semana pasada el asistente generó varios archivos, siendo uno de ellos DESCRIPTION. En este archivo es donde se incluyen la descripción básica del paquete, el tipo de licencia con el que se distribuye e información de los paquetes requeridos y sugeridos entre otra información. Por defecto el asistente de RStudio ha creado el siguiente archivo como el siguiente

Package: rlane
Type: Package
Title: What the Package Does (Title Case)
Version: 0.1.0
Author: Who wrote it
Maintainer: The package maintainer <[email protected]> Description: More about what it does (maybe more than one line) Use four spaces when indenting paragraphs within the Description. License: What license is it under? Encoding: UTF-8 LazyData: true

En este archivo se puede ver que en cada una de las líneas hay una propiedad a la que se le asigna un valor. En la primera línea se incluyen la propiedad Package en la que se indica en nombre del paquete y en la segunda el tipo, es decir un paquete. Propiedades que ha asignado correctamente el asistente de RStudio.

Incluyendo información en el archivo DESCRIPTION

Una de las primeras propiedades que debemos indicar en el archivo DESCRIPTION es el título del paquete. Junto a una pequeña descripción con la que se indica que puede esperar un usuario hacer tras la instalación. Una descripción que se ha de escribir en formato título, es decir, todas las palabras han de comenzar con mayúsculas. Posteriormente se ha de incluir la versión, que en nuestro caso dejaremos con el valor de 0.1.0.

Luego se encuentra el autor o autores del paquete y el responsable del mantenimiento. No es necesario que sea la misma persona y solamente se tiene que indicar el correo electrónico del responsable del mantenimiento para que los usuarios dispongan de una persona de contacto.

Otra propiedad importante del archivo es Description, en la que se recomienda utilizar más de una línea para describir cuales son las tareas que realiza el paquete.

Finalmente debemos de indicar en este archivo cual es la licencia con la que se distribuye.

Incluir dependencias con otros paquetes

Además de las propiedades ya incluidas en la plantilla existen otras dos que son de gran importancia: Imports y Suggests. Mediante la primera se indicarán los paquetes y las versiones de estos que son necesarios para el correcto funcionamiento del nuestro. Paquetes que serán instalados automáticamente por R durante la instalación de nuestro paquete en el ordenador del usuario. Para lo que se indican los nombres de paquetes separados por coma, por ejemplo, en el caso de que necesitemos lubridate y sqliter con un número de versión mínimo se puede escribir:

Imports: lubridate (>= 1.7.0), sqliter (>= 0.1.0)

Por otro lado, los paquetes de Suggests se indican exactamente igual, pero a diferencia de los indicados en Imports estos no se instalarán de forma automática. Al no ser imprescindibles para el funcionamiento de los paquetes han de ser instalados manualmente por los usuarios.

Nuestro archivo DESCRIPTION

Finalmente, nuestro archivo DESCRIPTION queda de la siguiente manera.

Package: rlane
Type: Package
Title: Plantilla de Paquete R
Version: 0.1.0
Author: Daniel Rodríguez
Maintainer: Daniel Rodríguez <[email protected]> Description: Esta es un paquete de ejemplo creado para el tutorial de Analytics Lane License: GPL-3 Encoding: UTF-8 LazyData: true

En el que no se ha incluido ninguna dependencia, ya que el paquete que vamos a crear no lo necesita.

Conclusiones

En esta segunda entrada de la serie se ha visto la estructura del archivo DESCRIPTION, uno de los más importantes a la hora de crear un paquete de R. La semana que viene se verá cómo incluir pruebas unitarias en un paquete R con testthat.

Imagen de Peter H en Pixabay


Publicidad