GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer R sur le système Linux RHEL 8 / CentOS 8

Cet article explique comment installer et configurer R dans RHEL 8 / CentOS 8.

Dans ce didacticiel, vous apprendrez :

  • Présentation de R
  • Caractéristiques statistiques de R
  • Téléchargement, Compilation, Installation de R
  • Bonjour le monde avec R

Caractéristiques R.

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système RHEL 8/CentOS 8
Logiciel R
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Aperçu de R

R est un langage de programmation et un environnement logiciel libre pour le calcul statistique et les graphiques pris en charge par la R Foundation for Statistical Computing. Le langage R est largement utilisé par les statisticiens et les mineurs de données pour le développement de logiciels statistiques et l'analyse de données. Les sondages, les enquêtes d'exploration de données et les études des bases de données de la littérature savante montrent une augmentation substantielle de la popularité ces dernières années en février 2019, R se classe 15e dans l'indice TIOBE, une mesure de la popularité des langages de programmation.

Un package GNU, le code source de l'environnement logiciel R est écrit principalement en C, Fortran et R lui-même, et est disponible gratuitement sous la licence publique générale GNU. Des versions binaires précompilées sont fournies pour divers systèmes d'exploitation. Bien que R dispose d'une interface de ligne de commande, il existe plusieurs interfaces utilisateur graphiques, telles que RStudio, un environnement de développement intégré.

Caractéristiques statistiques de R

R et ses bibliothèques implémentent une grande variété de techniques statistiques et graphiques, y compris la modélisation linéaire et non linéaire, les tests statistiques classiques, l'analyse de séries chronologiques, la classification, le clustering, etc. R est facilement extensible via des fonctions et des extensions, et la communauté R est connue pour ses contributions actives en termes de packages. De nombreuses fonctions standard de R sont écrites dans R lui-même, ce qui permet aux utilisateurs de suivre facilement les choix algorithmiques effectués. Pour les tâches de calcul intensif, le code C, C++ et Fortran peut être lié et appelé au moment de l'exécution. Les utilisateurs avancés peuvent écrire du code C, C++, Java, .NET ou Python pour manipuler directement les objets R. R est hautement extensible grâce à l'utilisation de packages soumis par les utilisateurs pour des fonctions spécifiques ou des domaines d'étude spécifiques. En raison de son héritage S, R dispose de fonctionnalités de programmation orientées objet plus puissantes que la plupart des langages de calcul statistique. L'extension de R est également facilitée par ses règles de portée lexicale.

Une autre force de R réside dans les graphiques statiques, qui peuvent produire des graphiques de qualité publication, y compris des symboles mathématiques. Des graphiques dynamiques et interactifs sont disponibles via des packages supplémentaires.

R a Rd, son propre format de documentation de type LaTeX, qui est utilisé pour fournir une documentation complète, à la fois en ligne dans un certain nombre de formats et sur papier.

Téléchargement, Compilation, Installation de R

Les sources, les fichiers binaires et la documentation pour R peuvent être obtenus via CRAN, le "Comprehensive R Archive Network". Ouvrez le lien https://cran.r-project.org/mirrors.html et sélectionnez l'un des miroirs pour télécharger R. Ici, nous avons utilisé le miroir de l'Université de Californie à Berkeley, c'est-à-dire https://cran.cnr.berkeley .edu/ pour télécharger R. Une fois téléchargé, le fichier R-3.5.2.tar.gz (la dernière version (2018-12-20, Eggshell Igloo) l'extrait et change l'autorisation pour l'utilisateur root.

# tar -xzvf R-3.5.2.tar.gz
# ls -lrth
total 29M
drwxr-xr-x. 10  501 games 4.0K Dec 20 12:04 R-3.5.2
-rw-------.  1 root root  1.2K Feb  3 22:58 anaconda-ks.cfg
# chown -R root:root R-3.5.2/
# ls -lrth
total 29M
drwxr-xr-x. 10 root root 4.0K Dec 20 12:04 R-3.5.2
-rw-------.  1 root root 1.2K Feb  3 22:58 anaconda-ks.cfg

Avant de compiler le package R à partir du téléchargement, vous devez installer les packages suivants avec les commandes ci-dessous

# yum group install "Development tools"
# yum install readline-devel
# yum install xz xz-devel 
# yum install pcre pcre-devel
# yum install libcurl-devel
# yum install texlive
# yum install java-1.8.0-openjdk
# yum install *gfortran*
# yum install zlib*
# yum install bzip2-*

Maintenant, passez au répertoire extrait et lancez les commandes suivantes.

#./configure –with-x=no

Une fois la commande de configuration réussie, vous obtiendrez le message ci-dessous

R is now configured for x86_64-pc-linux-gnu

  Source directory:          .
  Installation directory:    /usr/local

  C compiler:                gcc  -g -O2
  Fortran 77 compiler:       f95  -g -O2

  Default C++ compiler:      g++   -g -O2
  C++98 compiler:            g++ -std=gnu++98 -g -O2
  C++11 compiler:            g++ -std=gnu++11 -g -O2
  C++14 compiler:            g++ -std=gnu++14 -g -O2
  C++17 compiler:            g++ -std=gnu++17 -g -O2
  Fortran 90/95 compiler:    gfortran -g -O2
  Obj-C compiler:	      

  Interfaces supported:      
  External libraries:        readline, curl
  Additional capabilities:   NLS
  Options enabled:           shared BLAS, R profiling

  Capabilities skipped:      PNG, JPEG, TIFF, cairo, ICU
  Options not enabled:       memory profiling

  Recommended packages:      yes

Exécutez maintenant les commandes ci-dessous à partir du même répertoire R extrait.

# make

Si ces commandes s'exécutent avec succès, le binaire R et un frontal de script shell appelé R sont créés et copiés dans le répertoire bin. Vous pouvez copier le script à un emplacement où les utilisateurs peuvent l'invoquer, par exemple dans /usr/local/bin . De plus, des pages d'aide en texte brut ainsi que des versions HTML et LaTeX de la documentation sont créées.

Enfin, utilisez make check pour savoir si votre système R fonctionne correctement.

# make check
make[1]: Entering directory '/root/R-3.5.2/tests'
make[2]: Entering directory '/root/R-3.5.2/tests'
make[3]: Entering directory '/root/R-3.5.2/tests/Examples'
Testing examples for package ‘base’
Testing examples for package ‘tools’
  comparing ‘tools-Ex.Rout’ to ‘tools-Ex.Rout.save’ ... OK
Testing examples for package ‘utils’
Testing examples for package ‘grDevices’
  comparing ‘grDevices-Ex.Rout’ to ‘grDevices-Ex.Rout.save’ ... OK
Testing examples for package ‘graphics’
  comparing ‘graphics-Ex.Rout’ to ‘graphics-Ex.Rout.save’ ... OK
Testing examples for package ‘stats’
  comparing ‘stats-Ex.Rout’ to ‘stats-Ex.Rout.save’ ... OK
Testing examples for package ‘datasets’
  comparing ‘datasets-Ex.Rout’ to ‘datasets-Ex.Rout.save’ ... OK
Testing examples for package ‘methods’
Testing examples for package ‘grid’
  comparing ‘grid-Ex.Rout’ to ‘grid-Ex.Rout.save’ ... OK
Testing examples for package ‘splines’
  comparing ‘splines-Ex.Rout’ to ‘splines-Ex.Rout.save’ ... OK
Testing examples for package ‘stats4’
  comparing ‘stats4-Ex.Rout’ to ‘stats4-Ex.Rout.save’ ... OK
Testing examples for package ‘tcltk’
Testing examples for package ‘compiler’
Testing examples for package ‘parallel’
make[3]: Leaving directory '/root/R-3.5.2/tests/Examples'
make[2]: Leaving directory '/root/R-3.5.2/tests'
make[2]: Entering directory '/root/R-3.5.2/tests'
running strict specific tests
make[3]: Entering directory '/root/R-3.5.2/tests'
running code in 'eval-etc.R' ... OK
  comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ... OK
running code in 'simple-true.R' ... OK
  comparing 'simple-true.Rout' to './simple-true.Rout.save' ... OK
running code in 'arith-true.R' ... OK
  comparing 'arith-true.Rout' to './arith-true.Rout.save' ... OK
running code in 'arith.R' ... OK
  comparing 'arith.Rout' to './arith.Rout.save' ... OK
running code in 'lm-tests.R' ... OK
  comparing 'lm-tests.Rout' to './lm-tests.Rout.save' ... OK
running code in 'ok-errors.R' ... OK
  comparing 'ok-errors.Rout' to './ok-errors.Rout.save' ... OK
running code in 'method-dispatch.R' ... OK
  comparing 'method-dispatch.Rout' to './method-dispatch.Rout.save' ... OK
running code in 'any-all.R' ... OK
  comparing 'any-all.Rout' to './any-all.Rout.save' ... OK
running code in 'd-p-q-r-tests.R' ... OK
  comparing 'd-p-q-r-tests.Rout' to './d-p-q-r-tests.Rout.save' ... OK
make[3]: Leaving directory '/root/R-3.5.2/tests'
running sloppy specific tests
make[3]: Entering directory '/root/R-3.5.2/tests'
running code in 'complex.R' ... OK
  comparing 'complex.Rout' to './complex.Rout.save' ... OK
running code in 'eval-etc-2.R' ... OK
  comparing 'eval-etc-2.Rout' to './eval-etc-2.Rout.save' ... OK
running code in 'print-tests.R' ... OK
  comparing 'print-tests.Rout' to './print-tests.Rout.save' ... OK
running code in 'lapack.R' ... OK
  comparing 'lapack.Rout' to './lapack.Rout.save' ... OK
running code in 'datasets.R' ... OK
  comparing 'datasets.Rout' to './datasets.Rout.save' ... OK
running code in 'datetime.R' ... OK
  comparing 'datetime.Rout' to './datetime.Rout.save' ... OK
running code in 'iec60559.R' ... OK
  comparing 'iec60559.Rout' to './iec60559.Rout.save' ... OK
make[3]: Leaving directory '/root/R-3.5.2/tests'
make[3]: Entering directory '/root/R-3.5.2/tests'
checking Sys.timezone ...
make[4]: Entering directory '/root/R-3.5.2/tests'
running code in 'timezone.R' ... OK
make[4]: Leaving directory '/root/R-3.5.2/tests'
make[3]: Leaving directory '/root/R-3.5.2/tests'
make[2]: Leaving directory '/root/R-3.5.2/tests'
make[2]: Entering directory '/root/R-3.5.2/tests'
running regression tests ...
make[3]: Entering directory '/root/R-3.5.2/tests'
running code in 'array-subset.R' ... OK
running code in 'reg-tests-1a.R' ... OK
running code in 'reg-tests-1b.R' ... OK
running code in 'reg-tests-1c.R' ... OK
running code in 'reg-tests-1d.R' ... OK
running code in 'reg-tests-2.R' ... OK
  comparing 'reg-tests-2.Rout' to './reg-tests-2.Rout.save' ... OK
running code in 'reg-examples1.R' ... OK
running code in 'reg-examples2.R' ... OK
running code in 'reg-packages.R' ... OK
running code in 'p-qbeta-strict-tst.R' ... OK
running code in 'r-strict-tst.R' ... OK
running code in 'reg-IO.R' ... OK
  comparing 'reg-IO.Rout' to './reg-IO.Rout.save' ... OK
running code in 'reg-IO2.R' ... OK
  comparing 'reg-IO2.Rout' to './reg-IO2.Rout.save' ... OK
running code in 'reg-plot.R' ... OK
  comparing 'reg-plot.pdf' to './reg-plot.pdf.save' ... OK
running code in 'reg-S4-examples.R' ... OK
running code in 'reg-BLAS.R' ... OK
make[3]: Leaving directory '/root/R-3.5.2/tests'
make[3]: Entering directory '/root/R-3.5.2/tests'
running code in 'reg-tests-3.R' ... OK
  comparing 'reg-tests-3.Rout' to './reg-tests-3.Rout.save' ... OK
running code in 'reg-examples3.R' ... OK
  comparing 'reg-examples3.Rout' to './reg-examples3.Rout.save' ... OK
running tests of plotting Latin-1
  expect failure or some differences if not in a Latin-1 or UTF-8 locale
running code in 'reg-plot-latin1.R' ... OK
  comparing 'reg-plot-latin1.pdf' to './reg-plot-latin1.pdf.save' ... OK
running code in 'reg-S4.R' ... OK
  comparing 'reg-S4.Rout' to './reg-S4.Rout.save' ... OK
make[3]: Leaving directory '/root/R-3.5.2/tests'
make[2]: Leaving directory '/root/R-3.5.2/tests'
make[2]: Entering directory '/root/R-3.5.2/tests'
running tests of Internet functions
make[3]: Entering directory '/root/R-3.5.2/tests'
running code in 'internet.R' ... OK
  comparing 'internet.Rout' to './internet.Rout.save' ... OK
make[3]: Leaving directory '/root/R-3.5.2/tests'
make[2]: Leaving directory '/root/R-3.5.2/tests'
make[1]: Leaving directory '/root/R-3.5.2/tests'

Pour effectuer une installation "à l'échelle du système", utilisez make install.

# make install

Par défaut, cela s'installera dans les répertoires suivants :

${prefix}/bin – le script shell frontal
${prefix}/man/man1 – la page de manuel
${prefix}/lib/R – tout le reste (bibliothèques, système d'aide en ligne, …). Il s'agit du « R Home Directory » (R_HOME) du système installé.

Dans ce qui précède, le préfixe est déterminé lors de la configuration (généralement /usr/local ) et peut être défini en exécutant configure avec l'option.

#./configure --prefix=/where/you/want/R/to/go

(Par exemple, l'exécutable R sera alors installé dans /where/you/want/R/to/go/bin.)

Une fois l'installation réussie, le R peut être invoqué par la commande suivante.

# R
R version 3.5.2 (2018-12-20) -- "Eggshell Igloo"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

Bonjour le monde avec R

Pour vérifier si le R fonctionne correctement, créons un simple programme Hello World R à vérifier. Créez un nouveau code R en utilisant vim et enregistrez avec l'extension *.R.


hello <- function( name ) {

    sprintf( "Hello, %s", name );

}

Le script R est exécuté à l'aide de la commande source. Accédez à l'invite de commande dans la console R et écrivez la commande suivante pour exécuter le script.

> source("/root/helloworld.R")

> hello("LinuxConfig.org")
[1] "Hello, LinuxConfig.org"
>

Conclusion

R est gratuit et open-source, ce qui permet à quiconque d'avoir accès à des outils d'analyse statistique de classe mondiale. Il est largement utilisé dans le milieu universitaire et le secteur privé et est aujourd'hui le langage de programmation d'analyse statistique le plus populaire. Apprendre R n'est pas facile - si c'était le cas, les data scientists ne seraient pas aussi demandés. Cependant, les ressources de qualité que vous pouvez utiliser pour apprendre R ne manquent pas si vous êtes prêt à y consacrer du temps et des efforts.


Cent OS
  1. Comment installer et configurer docker dans Rocky Linux/Centos 8

  2. Comment installer et configurer Ansible sur Rocky Linux/CentOS 8

  3. Comment installer et configurer Mono sur Rocky Linux 8 et CentOS 8

  4. CentOS / RHEL 7 :Comment installer et configurer telnet

  5. Comment installer et configurer Samba dans CentOS / RHEL

Comment installer et configurer MongoDB sur CentOS 8

Comment installer et configurer Denyhost dans Centos 7 Linux

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment installer et configurer Jenkins sur CentOS 8 / RHEL 8

Comment installer et configurer MariaDB dans CentOS / RHEL 7

Comment installer et configurer VNC Server sur CentOS/RHEL 8