Comment installer les paquets R à l’aide de devtools sur Ubuntu 16.04

introduction

R est un langage de programmation open source populaire spécialisé dans l’informatique statistique et les graphiques. Il est largement utilisé pour développer des logiciels statistiques et effectuer des analyses de données. R est facilement extensible et la communauté est connue pour ajouter en permanence des packages générés par l’utilisateur pour des domaines d’étude spécifiques, ce qui le rend applicable à de nombreux domaines.

Dans ce tutoriel, nous allons vous montrer comment installer devtools et l’utiliser pour installer un paquet directement à partir de GitHub.

Conditions préalables

Pour continuer, vous aurez besoin de R, installé sur un serveur Ubuntu 16.04 avec au moins 1 Go de RAM et un utilisateur non root avec les privilèges + sudo +. Comment configurer R sur Ubuntu 16.04 peut vous aider.

Étape 1 - Installation des dépendances système pour devtools

Nous allons installer devtools à partir du shell interactif, mais avant cela, nous devons installer les dépendances système suivantes:

sudo apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev

Une fois cette opération terminée, nous sommes prêts à procéder.

Étape 2 - Installation du package Devtools

Devtools nous permettra d’installer et de construire des packages directement à partir de GitHub, BitBucket, des fichiers locaux, ainsi que d’installer des versions spécifiques à partir de CRAN. Pour rendre + devtools + disponible sur l’ensemble du site, nous allons entrer le shell de R en tant que root:

sudo -i R

Depuis le moniteur, nous utiliserons la fonction + install.packages () + pour installer + devtools + à partir du site Comprehensive R Archive Network (CRAN) .

install.packages('devtools')

Lorsque vous y êtes invité, nous sélectionnons 1 pour 0-Cloud, qui nous connectera au réseau de distribution de contenu (CDN) fourni par RStudio, afin d’obtenir le miroir le plus proche géographiquement. Après avoir fait notre choix, l’installation commencera. Cela peut prendre un peu de temps. Quand ce sera fini, vers la fin de la sortie de l’installation, nous devrions voir:

Output...
** testing if installed package can be loaded
* DONE (devtools)

Ensuite, nous le mettrons à l’essai puisque nous allons chercher et construire un projet directement à partir de GitHub.

Étape 3 - Installer un paquet R à partir de GitHub

Dans cette étape, nous allons installer la dernière version de développement de Shiny, un framework d’applications Web pour R, directement à partir de GitHub. Nous ferons cela en utilisant la fonction + install_github + fournie par + devtools +. Un paquet GitHub est défini par son auteur (+ rstudio +) et son nom (+ brillant +) que vous pouvez trouver à partir de l’URL GitHub de la page principale du projet: + https: // github.com / +.

Utilisez la commande suivante pour installer:

devtools::install_github('rstudio/shiny')

L’installation s’est terminée avec succès lorsque les lignes suivantes se sont rapprochées de la fin et sont renvoyées à l’invite R:

Output. . .
** testing if installed package can be loaded
* DONE (shiny)
>

Nous pouvons voir la version spécifique de Shiny que nous avons installée avec la commande suivante:

packageVersion("shiny")
Output[1] ‘0.14.0.9000’

Dans la prochaine étape, nous examinerons rapidement Shiny. Nous allons d’abord effectuer quelques tâches au niveau du système, nous allons donc quitter le moniteur à l’aide de la commande suivante ou en utilisant CTRL-D.

q()

L’un ou l’autre de ces éléments vous invitera à enregistrer l’image de votre espace de travail, l’environnement de travail de R comprenant des objets définis par l’utilisateur. Ce n’est pas nécessaire, vous pouvez donc entrer en toute sécurité + n +.

Comme nous allons utiliser un navigateur Web pour voir un exemple de ce que Shiny peut faire, nous allons nous assurer que le trafic Web est autorisé.

Vérifiez le pare-feu

Shiny est un cadre d’application Web. Par conséquent, pour pouvoir visualiser ses exemples dans un navigateur, nous devons nous assurer que le trafic Web est autorisé sur notre pare-feu. Le serveur Web intégré choisit un port de manière aléatoire à chaque démarrage, sauf s’il est démarré avec une valeur spécifique. Pour faciliter la gestion du pare-feu, nous spécifierons le port 4040 lors de l’exécution de notre exemple.

Voyons l’état du pare-feu:

sudo ufw status

Dans ce cas, seul SSH est autorisé via:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Vous pouvez avoir d’autres règles en place ou aucune règle de pare-feu du tout. Comme seul le trafic SSH est autorisé dans ce cas, nous ajouterons le port 4040 et vérifierons l’état lorsque nous aurons terminé:

sudo ufw allow 4040/tcp
sudo ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
4040/tcp                   ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
4040/tcp (v6)              ALLOW       Anywhere (v6)

Avec le pare-feu configuré, nous sommes prêts à examiner Shiny.

Run Shiny:

Nous allons nous connecter à R, cette fois en tant qu’utilisateur régulier:

R

Ensuite, nous allons charger + shiny +:

library("shiny")

Shiny comprend onze exemples intégrés illustrant son fonctionnement. Nous allons charger la bibliothèque + shiny +, puis lancer le premier exemple. Comme nous travaillons sur un serveur distant, nous allons spécifier l’adresse de l’hôte afin de pouvoir naviguer à partir de notre ordinateur local. Nous allons également définir + launch.browser sur` + FALSE` pour qu’il ne tente pas de lancer un navigateur sur le serveur distant:

runExample("01_hello", host = "", port = 4040, launch.browser= FALSE)
OutputListening on http://:4040

Voyons cette URL dans un navigateur Web:

image: http: //assets.digitalocean.com/articles/R-1604/shiny-01-hello.png [Exemple de la capture d’écran de Shiny 01-Hello]

Nous avons installé Shiny pour illustrer en utilisant + devtools + pour installer directement à partir d’un référentiel GitHub. Nous avons ensuite exécuté l’exemple d’application Shiny sans privilèges élevés pour vérifier que tous les utilisateurs avaient accès au package.

Réinstallation de la version stable de Shiny

Pour une situation de production, nous installerions à partir de CRAN sauf si nous avions une raison impérieuse d’installer à partir du référentiel.

Prenons un moment pour revenir au paquet stable. Tout d’abord, nous allons interrompre le serveur avec CTRL-C, puis quitter le shell R avec CTRL-D et le saisir à nouveau en tant que root:

sudo -i R

Depuis que nous sommes sortis du shell, nous serons invités à choisir un miroir et à sélectionner à nouveau.

Nous pouvons installer la version stable avec la commande suivante, qui écrasera l’installation à partir de GitHub que nous avons terminée à l’étape précédente:

install.packages("shiny")

Vérifions le changement de version:

packageVersion("shiny")
Output[1] ‘0.14’

La sortie indique qu’au lieu de "+ 0.14.9000 +", la version que nous avons installée à partir de GitHub, nous exécutons maintenant la version stable.

Conclusion

Dans ce tutoriel, nous avons installé le dernier paquet Shiny directement à partir de GitHub et appris à réinstaller sa version stable à partir de CRAN. Si vous souhaitez en savoir plus sur Shiny, consultez le Shiny tutorial de RStudio]. Vous pouvez également être intéressé par installer le serveur open source RStudio, une interface vers une version de R s’exécutant sur un serveur Linux distant, ce qui amène un environnement de développement intégré à un déploiement basé sur un serveur.