GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System

Tento článek vysvětluje, jak nainstalovat a nakonfigurovat R v RHEL 8 / CentOS 8.

V tomto tutoriálu se naučíte:

  • Přehled R
  • Statistické vlastnosti R
  • Stažení, kompilace, instalace R
  • Ahoj světe s R

Vlastnosti R.

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software R
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Přehled R

R je programovací jazyk a svobodné softwarové prostředí pro statistické výpočty a grafiku podporované nadací R Foundation for Statistical Computing. Jazyk R je široce používán mezi statistiky a těžaři dat pro vývoj statistického softwaru a analýzy dat. Průzkumy, průzkumy data miningu a studie databází odborné literatury ukazují podstatné zvýšení popularity v posledních letech, k únoru 2019 je R na 15. místě v indexu TIOBE, který je měřítkem popularity programovacích jazyků.

Balíček GNU, zdrojový kód pro softwarové prostředí R je napsán primárně v C, Fortran a R samotném a je volně dostupný pod GNU General Public License. Předkompilované binární verze jsou poskytovány pro různé operační systémy. Ačkoli R má rozhraní příkazového řádku, existuje několik grafických uživatelských rozhraní, jako je RStudio, integrované vývojové prostředí.

Statistické vlastnosti R

R a jeho knihovny implementují širokou škálu statistických a grafických technik, včetně lineárního a nelineárního modelování, klasických statistických testů, analýzy časových řad, klasifikace, shlukování a dalších. R je snadno rozšiřitelný pomocí funkcí a rozšíření a komunita R je známá svými aktivními příspěvky, pokud jde o balíčky. Mnoho standardních funkcí R je napsáno v samotném R, což uživatelům usnadňuje sledovat provedené algoritmické volby. Pro výpočetně náročné úlohy lze kód C, C++ a Fortran propojit a volat za běhu. Pokročilí uživatelé mohou psát kódy C, C++, Java, .NET nebo Python a přímo manipulovat s objekty R. R je vysoce rozšiřitelný pomocí uživatelsky předložených balíčků pro specifické funkce nebo specifické oblasti studia. Díky svému dědictví S má R silnější objektově orientované programovací prostředky než většina jazyků pro statistické výpočty. Rozšíření R je také usnadněno jeho lexikálními pravidly.

Další silnou stránkou R je statická grafika, která dokáže vytvářet grafy v publikační kvalitě, včetně matematických symbolů. Dynamická a interaktivní grafika je dostupná prostřednictvím dodatečných balíčků.

R má Rd, svůj vlastní formát dokumentace podobný LaTeXu, který se používá k poskytování komplexní dokumentace, a to jak online v mnoha formátech, tak v tištěné podobě.

Stažení, kompilace, instalace R

Zdroje, binární soubory a dokumentaci pro R lze získat prostřednictvím CRAN, „Comprehensive R Archive Network“. Otevřete odkaz https://cran.r-project.org/mirrors.html a vyberte libovolné zrcadlo ke stažení R. Zde jsme použili zrcadlo z University of California, Berkeley, tj. https://cran.cnr.berkeley .edu/ ke stažení R. Po stažení rozbalte soubor R-3.5.2.tar.gz (nejnovější vydání (2018-12-20, Eggshell Igloo) a změňte oprávnění na uživatele 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

Před kompilací R ze staženého balíčku musíte nainstalovat následující balíčky pomocí příkazů níže

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

Nyní přejděte do extrahovaného adresáře a zadejte následující příkazy.

#./configure –with-x=no

Po úspěšném konfiguračním příkazu se zobrazí níže uvedená zpráva

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

Nyní spusťte níže příkazy ze stejného extrahovaného adresáře R.

# make

Pokud se tyto příkazy provedou úspěšně, vytvoří se binární R a front-end skriptu prostředí s názvem R a zkopírují se do adresáře bin. Skript můžete zkopírovat na místo, kde jej mohou uživatelé vyvolat, například do /usr/local/bin . Kromě toho jsou vytvořeny stránky nápovědy ve formátu prostého textu a také verze dokumentace ve formátu HTML a LaTeX.

Nakonec použijte make check abyste zjistili, zda váš systém R funguje správně.

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

Chcete-li provést „celosystémovou“ instalaci, použijte make install.

# make install

Ve výchozím nastavení se to nainstaluje do následujících adresářů:

${prefix}/bin – skript front-end shell
${prefix}/man/man1 – manuálová stránka
${prefix}/lib/R – vše ostatní (knihovny, on-line systém nápovědy, …). Toto je „Domovský adresář R“ (R_HOME) nainstalovaného systému.

Ve výše uvedeném je předpona určena během konfigurace (obvykle /usr/local ) a lze jej nastavit spuštěním konfigurace s možností.

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

(Např. spustitelný soubor R bude poté nainstalován do /where/you/want/R/to/go/bin.)

Po úspěšné instalaci může být R vyvoláno následujícím příkazem.

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

Ahoj světe s R

Chcete-li zkontrolovat, zda R správně funguje, vytvořte jednoduchý program Hello World R pro ověření. Vytvořte nový R kód pomocí vim a uložte s příponou *.R.


hello <- function( name ) {

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

}

Skript R se provádí pomocí příkazu source. Přejděte do příkazového řádku v konzole R a napište následující příkaz pro spuštění skriptu.

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

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

Závěr

R je zdarma a s otevřeným zdrojovým kódem, což umožňuje komukoli mít přístup ke špičkovým nástrojům statistické analýzy. Je široce používán v akademickém i soukromém sektoru a je dnes nejpopulárnějším programovacím jazykem pro statistické analýzy. Naučit se R není snadné – kdyby tomu tak bylo, nebyli by datoví vědci tak žádáni. Neexistuje však nedostatek kvalitních zdrojů, které můžete použít k naučení se R, pokud jste ochotni tomu věnovat čas a úsilí.


Cent OS
  1. Jak nainstalovat a nakonfigurovat docker v Rocky Linux/Centos 8

  2. Jak nainstalovat a nakonfigurovat Ansible na Rocky Linux/CentOS 8

  3. Jak nainstalovat a nakonfigurovat Sambu v CentOS / RHEL

  1. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat a nakonfigurovat Mono na Rocky Linux 8 a CentOS 8

  3. CentOS / RHEL 7 :Jak nainstalovat a nakonfigurovat telnet

  1. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  2. Jak nainstalovat a nakonfigurovat oVirt 4.0 na CentOS 7 / RHEL 7

  3. Jak nainstalovat a nakonfigurovat Jenkins na CentOS 7 a RHEL 7