GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar R en el sistema RHEL 8/CentOS 8 Linux

Este artículo explica cómo instalar y configurar R en RHEL 8/CentOS 8.

En este tutorial aprenderás:

  • Resumen de R
  • Características estadísticas de R
  • Descarga, Compilación, Instalación de R
  • Hola Mundo con R

Características R.

Requisitos de software y convenciones utilizadas

Resumen de R

R es un lenguaje de programación y un entorno de software libre para computación y gráficos estadísticos respaldado por R Foundation for Statistical Computing. El lenguaje R se usa ampliamente entre los estadísticos y los mineros de datos para desarrollar software estadístico y análisis de datos. Las encuestas, las encuestas de extracción de datos y los estudios de las bases de datos de literatura académica muestran aumentos sustanciales en la popularidad en los últimos años a partir de febrero de 2019, R ocupa el puesto 15 en el índice TIOBE, una medida de popularidad de los lenguajes de programación.

Un paquete GNU, el código fuente para el entorno de software R está escrito principalmente en C, Fortran y R mismo, y está disponible gratuitamente bajo la Licencia Pública General GNU. Se proporcionan versiones binarias precompiladas para varios sistemas operativos. Aunque R tiene una interfaz de línea de comandos, existen varias interfaces gráficas de usuario, como RStudio, un entorno de desarrollo integrado.

Características estadísticas de R

R y sus bibliotecas implementan una amplia variedad de técnicas estadísticas y gráficas, incluido el modelado lineal y no lineal, las pruebas estadísticas clásicas, el análisis de series temporales, la clasificación, el agrupamiento y otros. R es fácilmente extensible a través de funciones y extensiones, y la comunidad de R se destaca por sus contribuciones activas en términos de paquetes. Muchas de las funciones estándar de R están escritas en R mismo, lo que facilita a los usuarios seguir las elecciones algorítmicas realizadas. Para tareas computacionalmente intensivas, el código C, C++ y Fortran se puede vincular y llamar en tiempo de ejecución. Los usuarios avanzados pueden escribir código C, C++, Java, .NET o Python para manipular objetos R directamente. R es altamente extensible mediante el uso de paquetes enviados por el usuario para funciones específicas o áreas de estudio específicas. Debido a su herencia S, R tiene funciones de programación orientadas a objetos más sólidas que la mayoría de los lenguajes de computación estadística. La extensión de R también se ve facilitada por sus reglas de alcance léxico.

Otro punto fuerte de R son los gráficos estáticos, que pueden producir gráficos con calidad de publicación, incluidos los símbolos matemáticos. Los gráficos dinámicos e interactivos están disponibles a través de paquetes adicionales.

R tiene Rd, su propio formato de documentación similar a LaTeX, que se utiliza para proporcionar documentación completa, tanto en línea en varios formatos como en copia impresa.

Descarga, Compilación, Instalación de R

Las fuentes, los archivos binarios y la documentación de R se pueden obtener a través de CRAN, la "Red integral de archivos de R". Abra el enlace https://cran.r-project.org/mirrors.html y seleccione cualquiera de los espejos para descargar R. Aquí hemos usado el espejo de la Universidad de California, Berkeley, es decir, https://cran.cnr.berkeley .edu/ para descargar R. Una vez descargado el archivo R-3.5.2.tar.gz (la última versión (2018-12-20, Eggshell Igloo), extráigalo y cambie el permiso a usuario 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

Antes de compilar R del paquete descargado, debe instalar los siguientes paquetes con los comandos a continuación

# 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-*

Ahora, cambie al directorio extraído y emita los siguientes comandos.

#./configure –with-x=no

Después de un comando de configuración exitoso, recibirá el siguiente mensaje

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

Ahora ejecute los siguientes comandos desde el mismo directorio R extraído.

# make

Si estos comandos se ejecutan correctamente, el binario R y un front-end de script de shell llamado R se crean y se copian en el directorio bin. Puede copiar el script en un lugar donde los usuarios puedan invocarlo, por ejemplo, en /usr/local/bin . Además, se crean páginas de ayuda de texto sin formato, así como versiones HTML y LaTeX de la documentación.

Finalmente, usa make check para averiguar si su sistema R funciona correctamente.

# 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'

Para realizar una instalación de "todo el sistema", use make install.

# make install

De forma predeterminada, esto se instalará en los siguientes directorios:

${prefix}/bin – el script de shell del front-end
${prefix}/man/man1 – la página man
${prefix}/lib/R – todo lo demás (bibliotecas, sistema de ayuda en línea,…). Este es el "Directorio principal de R" (R_HOME) del sistema instalado.

En lo anterior, el prefijo se determina durante la configuración (normalmente /usr/local ) y se puede configurar ejecutando configure con la opción.

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

(Por ejemplo, el ejecutable R se instalará en /dónde/usted/quiere/R/a/ir/bin.)

Tras una instalación exitosa, la R puede ser invocada por el siguiente comando.

# 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.

Hola Mundo con R

Para verificar si la R funciona correctamente, creemos un programa R simple de Hello World para verificar. Cree un nuevo código R usando vim y guárdelo con la extensión *.R.


hello <- function( name ) {

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

}

El script R se ejecuta usando el comando fuente. Vaya al símbolo del sistema en la consola R y escriba el siguiente comando para ejecutar el script.

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

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

Conclusión

R es gratuito y de código abierto, lo que hace posible que cualquier persona tenga acceso a herramientas de análisis estadístico de clase mundial. Se usa ampliamente en la academia y el sector privado y es el lenguaje de programación de análisis estadístico más popular en la actualidad. Aprender R no es fácil; si lo fuera, los científicos de datos no tendrían tanta demanda. Sin embargo, no hay escasez de recursos de calidad que puede utilizar para aprender R si está dispuesto a dedicar tiempo y esfuerzo.


Cent OS
  1. Cómo instalar y configurar docker en Rocky Linux/Centos 8

  2. Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8

  3. Cómo instalar y configurar Mono en Rocky Linux 8 y CentOS 8

  4. CentOS/RHEL 7:Cómo instalar y configurar telnet

  5. Cómo instalar y configurar Samba en CentOS/RHEL

Cómo instalar y configurar MongoDB en CentOS 8

Cómo instalar y configurar Denyhost en Centos 7 Linux

Cómo instalar y configurar el servidor VNC en CentOS 7 / RHEL 7

Cómo instalar y configurar Jenkins en CentOS 8 / RHEL 8

Cómo instalar y configurar MariaDB en CentOS/RHEL 7

Cómo instalar y configurar el servidor VNC en CentOS/RHEL 8

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software R
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios