Un paquete es como una colección de funciones, datos y archivos de ayuda agrupados en una estructura estándar bien definida que puede ser descargada e instalada en R. Se puede decir que los paquetes son códigos útiles e instalables que permiten extender las capacidades de R para realizar las funciones deseadas. Estos paquetes son compartidos y pueden ser descargados de varias fuentes, siendo las más populares el CRAN, Bioconductor y GitHub. CRAN es el repositorio oficial de R para paquetes creados por usuarios. Bioconductor proporciona software de código abierto orientado a la bioinformática. GitHub es un sitio que hospeda repositorios git para todo tipo de software y proyectos (no solo R). Aquí es donde se alojan las versiones de desarrollo más recientes de los paquetes de R.

Los paquetes necesarios para ejecutar análisis en R dependen del objetivo del trabajo a realizar, pero algunos paquetes son básicos y esenciales para la mayoría de los análisis, como: Tidyverse, dplyr, readxl, ggplot2, etc. En las próximas clases, profundizaremos un poco más sobre estos paquetes.

Instalación y carga de paquetes

La instalación y carga de paquetes se puede hacer desde el menú o con un comando en la consola. El flujo básico puede ser consultado en este enlace. La instalación se realiza a través del menú: tools > install packages, yendo a packages > install y escribiendo el nombre del paquete para descargar o usando la función install.packages(nombre_del_paquete) en la consola. Para cargar los paquetes, la función utilizada es library(nombre_del_paquete). El cargado puede hacerse tanto usando library, anotando entre paréntesis el nombre del paquete, como separando los programas por comas dentro del mismo paréntesis. Muchas veces, durante la carga de paquetes, usamos las etiquetas # seguidas por warning: false y message: false para desactivar la visualización de advertencias (warnings) y mensajes durante la ejecución del código, ya que muchos paquetes muestran mensajes y advertencias extensas después de la carga que llenan el archivo innecesariamente.

Codigo
library(tidyverse)  # Conjunto de paquetes para manipulación de datos y gráficos
library(metafor)    # Paquete para meta-análisis
library(gsheet)     # Paquete para leer datos desde Google Sheets
library(remotes)    # Paquete para instalar paquetes desde GitHub y otras fuentes

Funciones de los paquetes

Las funciones de los paquetes son variadas y se presentarán de forma más detallada en la próxima clase (Dataframe). Mientras tanto, veremos rápidamente cómo invocar una función de un paquete, específicamente la función arrange del paquete dplyr. Utilizaremos el conjunto de datos mtcars, un conjunto de datos incorporado en R. arrange() es una función del paquete dplyr que permite ordenar los datos en función de una o más variables. En este caso, la función arrange() se aplica al conjunto de datos mtcars, y la variable cyl se especifica como la variable de ordenación. Esto significa que los datos se reorganizarán de forma ascendente en función de la variable cyl. En las líneas siguientes, los comandos utilizados se refieren a la búsqueda de una hoja de cálculo específica en Google Sheets y la instalación de un paquete r4pde directamente desde el repositorio GitHub del usuario Emerson Del Ponte. El signo igual se utiliza para la asignación, que puede ser sustituido por <-. La función head() devuelve las primeras líneas de un objeto de datos o de un conjunto de datos; en este caso, se utiliza para devolver las primeras líneas del conjunto mtcars.

Codigo
mtcars
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
Codigo
arrange(mtcars, cyl)
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
Codigo
url <- gsheet2tbl('docs.google.com/spreadsheets/d/1I9mJsS5QnXF2TNNntTy-HrcdHmIF9wJ8ONYvEJTXSNo') 

b <- url
install_github("emdelponte/r4pde")
head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Paquete r4pde: En términos generales, la variable unit se crea y se asigna con los valores del 1 al 12 a través de la función c(1:12), luego se crea la variable class. Posteriormente, se crea un data frame ratings con estas variables y, a continuación, se aplica la función DSI del paquete r4pde a los datos. El bloque de comandos más abajo proporciona instrucciones para visualizar los valores, calcular la media (mean), el desvío estándar (sd) y obtener un resumen estadístico de la variable class del conjunto de datos ratings (función summary).

Codigo
library(r4pde)
unit <- c(1:12)
class <- c(2, 3, 1, 1, 3, 4, 5, 0, 2, 5, 2, 1)
ratings <- data.frame(unit, class)
DSI(unit = ratings$unit, class = ratings$class, max = 6)
[1] 40.27778
Codigo
ratings$class
 [1] 2 3 1 1 3 4 5 0 2 5 2 1
Codigo
mean(ratings$class)
[1] 2.416667
Codigo
sd(ratings$class)
[1] 1.621354
Codigo
summary(ratings$class)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.000   1.000   2.000   2.417   3.250   5.000 
Codigo
summary(class)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.000   1.000   2.000   2.417   3.250   5.000