Instalación de varios paquetes R a la vez

Deja de escribir install.packages por cada uno

Más de una vez tendrás que instalar varios paquetes de R antes de realizar algún ejercicio. Resulta bastante tedioso escribir continuamente install.packages("nombre-paquete").

Pues bien, hay al menos dos opciones: la función ipak o el paquete easypackages

La función ipak

Steven Worthington ha creado una función, para instalar varios paquetes a la vez, ipak, que comprueba que los paquets están instalados, los instala si no lo están y los carga en la sesión.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Definimos ipak
ipak <- function(pkg){
    new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
    if (length(new.pkg))
        install.packages(new.pkg, dependencies = TRUE)
    sapply(pkg, require, character.only = TRUE)
}

# Creamos una variable con el listado de paquetes que llamaremos packages

packages <- c("ggplot2", "plyr", "reshape2", "RColorBrewer", "scales", "grid")

# invocamos con la función ipak la variable packages

ipak(packages)

Si seguís el gist, alguna persona ha dejado su lista ideal:

1
packages <- c("ggplot2", "plyr", "reshape2", "RColorBrewer", "scales", "grid", c("plyr","digest","ggplot2","colorspace","stringr","RColorBrewer","reshape2","zoo","proto","scales","car","dichromat","gtable","munsell","labeling","Hmisc","rJava","mvtnorm","bitops","rgl","foreign","XML","lattice","e1071","gtools","sp","gdata","Rcpp","MASS","Matrix","lmtest","survival","caTools","multcomp","RCurl","knitr","xtable","xts","rpart","evaluate","RODBC","tseries","DBI","nlme","lme4","reshape","sandwich","leaps","gplots","abind","randomForest","Rcmdr","coda","maps","igraph","formatR","maptools","RSQLite","psych","KernSmooth","rgdal","RcppArmadillo","effects","sem","vcd","XLConnect","markdown","timeSeries","timeDate","RJSONIO","cluster","scatterplot3d","nnet","fBasics","forecast","quantreg","foreach","chron","plotrix","matrixcalc","aplpack","strucchange","iterators","mgcv","kernlab","SparseM","tree","robustbase","vegan","devtools","latticeExtra","modeltools","xlsx","slam","TTR","quantmod","relimp","akima","memoise"))

Paquete easypackages

Otra opción es utilizar el paquete easypackages que permite eso mismo:

Si queremos la opción de desarrollo, hemos de tener instalado devtools:

1
install.packages("devtools")

Y luego:

1
devtools::install_github("jakesherman/packages")

Si no, instalamos directamente la librería:

1
install.packages("easypackages")

La invocamos:

1
library(easypackages)

Y ya podemos instalar varios de una vez:

1
libraries("dplyr", "ggplot2", "data.table")
Adolfo Antón Bravo
Adolfo Antón Bravo
Coordinador del Máster de Periodismo y Visualización de Datos de la Universidad de Alcalá

Periodismo y visualización de datos, web semántica, bash, emacs, orgmode

Relacionado