GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal dan mengkonfigurasi R pada Sistem Linux RHEL 8 / CentOS 8

Artikel ini menjelaskan cara menginstal dan mengkonfigurasi R di RHEL 8 / CentOS 8.

Dalam tutorial ini Anda akan mempelajari:

  • Ringkasan R
  • Fitur Statistik R
  • Download, Kompilasi, Instalasi R
  • Halo Dunia dengan R

Fitur R.

Persyaratan dan Konvensi Perangkat Lunak yang Digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem RHEL 8 / CentOS 8
Perangkat Lunak R
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Ringkasan R

R adalah bahasa pemrograman dan lingkungan perangkat lunak bebas untuk komputasi statistik dan grafik yang didukung oleh R Foundation for Statistical Computing. Bahasa R banyak digunakan di antara ahli statistik dan penambang data untuk mengembangkan perangkat lunak statistik dan analisis data. Jajak pendapat, survei penambangan data, dan studi database literatur ilmiah menunjukkan peningkatan substansial dalam popularitas dalam beberapa tahun terakhir pada Februari 2019, R menempati peringkat ke-15 dalam indeks TIOBE, ukuran popularitas bahasa pemrograman.

Paket GNU, kode sumber untuk lingkungan perangkat lunak R ditulis terutama dalam C, Fortran dan R itu sendiri, dan tersedia secara bebas di bawah Lisensi Publik Umum GNU. Versi biner pra-kompilasi disediakan untuk berbagai sistem operasi. Meskipun R memiliki antarmuka baris perintah, ada beberapa antarmuka pengguna grafis, seperti RStudio, lingkungan pengembangan terintegrasi.

Fitur Statistik R

R dan perpustakaannya menerapkan berbagai teknik statistik dan grafis, termasuk pemodelan linier dan nonlinier, uji statistik klasik, analisis deret waktu, klasifikasi, pengelompokan, dan lain-lain. R mudah diperluas melalui fungsi dan ekstensi, dan komunitas R terkenal karena kontribusi aktifnya dalam hal paket. Banyak fungsi standar R ditulis dalam R itu sendiri, yang memudahkan pengguna untuk mengikuti pilihan algoritmik yang dibuat. Untuk tugas komputasi intensif, kode C, C++, dan Fortran dapat dihubungkan dan dipanggil pada saat run time. Pengguna tingkat lanjut dapat menulis kode C, C++, Java, .NET atau Python untuk memanipulasi objek R secara langsung. R sangat dapat diperluas melalui penggunaan paket yang dikirimkan pengguna untuk fungsi tertentu atau bidang studi tertentu. Karena warisan S-nya, R memiliki fasilitas pemrograman berorientasi objek yang lebih kuat daripada kebanyakan bahasa komputasi statistik. Memperluas R juga dipermudah dengan aturan pelingkupan leksikalnya.

Kekuatan lain dari R adalah grafik statis, yang dapat menghasilkan grafik berkualitas publikasi, termasuk simbol matematika. Grafik dinamis dan interaktif tersedia melalui paket tambahan.

R memiliki Rd, format dokumentasinya sendiri yang mirip dengan LaTeX, yang digunakan untuk menyediakan dokumentasi yang komprehensif, baik online dalam beberapa format maupun dalam bentuk hard copy.

Download, Kompilasi, Instalasi R

Sumber, binari, dan dokumentasi untuk R dapat diperoleh melalui CRAN, "Jaringan Arsip R Komprehensif". Buka tautan https://cran.r-project.org/mirrors.html dan pilih salah satu mirror untuk mengunduh R. Di sini kami telah menggunakan mirror dari University of California, Berkeley yaitu https://cran.cnr.berkeley .edu/ untuk mengunduh R. Setelah mengunduh file R-3.5.2.tar.gz (Rilis terbaru (2018-12-20, Eggshell Igloo) file ekstrak dan ubah izin ke pengguna 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

Sebelum mengkompilasi R dari paket yang diunduh, Anda perlu menginstal paket-paket berikut dengan perintah di bawah ini

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

Sekarang, ubah ke direktori yang diekstrak dan jalankan perintah berikut.

#./configure –with-x=no

Setelah perintah konfigurasi berhasil, Anda akan mendapatkan pesan di bawah ini

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

Sekarang jalankan perintah di bawah ini dari direktori R yang sama yang diekstraksi.

# make

Jika perintah ini berhasil dijalankan, biner R dan skrip shell front-end yang disebut R dibuat dan disalin ke direktori bin. Anda dapat menyalin skrip ke tempat pengguna dapat memintanya, misalnya ke /usr/local/bin . Selain itu, halaman bantuan teks biasa serta versi HTML dan LaTeX dari dokumentasi dibuat.

Terakhir, gunakan make check untuk mengetahui apakah sistem R Anda berfungsi dengan benar.

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

Untuk melakukan penginstalan “seluruh sistem” gunakan make install.

# make install

Secara default, ini akan menginstal ke direktori berikut:

${prefix}/bin – skrip shell front-end
${prefix}/man/man1 – halaman manual
${prefix}/lib/R – sisanya (perpustakaan, sistem bantuan online, …). Ini adalah "R Home Directory" (R_HOME) dari sistem yang diinstal.

Di atas, awalan ditentukan selama konfigurasi (biasanya /usr/local ) dan dapat disetel dengan menjalankan konfigurasikan dengan opsi.

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

(Misalnya, R yang dapat dieksekusi kemudian akan diinstal ke /where/you/want/R/to/go/bin.)

Setelah instalasi berhasil, R dapat dipanggil dengan perintah berikut.

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

Halo Dunia dengan R

Untuk memeriksa R apakah itu berfungsi dengan baik, mari buat Program Hello World R sederhana untuk memverifikasi. Buat kode R baru dengan menggunakan vim dan simpan dengan ekstensi *.R.


hello <- function( name ) {

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

}

Skrip R dijalankan menggunakan perintah sumber. Buka command prompt di konsol R, dan tulis perintah berikut untuk menjalankan skrip.

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

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

Kesimpulan

R gratis dan open-source, memungkinkan siapa saja memiliki akses ke alat analisis statistik kelas dunia. Ini digunakan secara luas di dunia akademis dan sektor swasta dan merupakan bahasa pemrograman analisis statistik paling populer saat ini. Mempelajari R tidak mudah — jika demikian, ilmuwan data tidak akan begitu diminati. Namun, tidak ada kekurangan sumber daya berkualitas yang dapat Anda gunakan untuk mempelajari R jika Anda bersedia meluangkan waktu dan tenaga.


Cent OS
  1. Cara menginstal dan mengkonfigurasi buruh pelabuhan Di Rocky Linux/Centos 8

  2. Cara Menginstal dan Mengonfigurasi Ansible di Rocky Linux/CentOS 8

  3. CentOS / RHEL 7 :Cara menginstal dan mengkonfigurasi telnet

  1. Instal dan Konfigurasi HAProxy di RHEL 8 / CentOS 8 Linux

  2. Cara Menginstal dan Mengkonfigurasi Mono di Rocky Linux 8 dan CentOS 8

  3. Cara menginstal dan mengkonfigurasi Samba di CentOS / RHEL

  1. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  2. Cara Install dan Konfigurasi oVirt 4.0 di CentOS 7 / RHEL 7

  3. Cara Menginstal dan Mengkonfigurasi Jenkins di CentOS 7 dan RHEL 7