Thứ bảy, 17/09/2016 | 00:00 GMT+7

Cách cài đặt Gói R bằng cách sử dụng devtools trên Ubuntu 16.04

R là một ngôn ngữ lập trình open-souce phổ biến chuyên về tính toán thống kê và đồ họa. Nó được sử dụng rộng rãi để phát triển phần mềm thống kê và thực hiện phân tích dữ liệu. R có thể dễ dàng mở rộng và cộng đồng được biết đến với việc liên tục bổ sung các gói do user tạo cho các lĩnh vực nghiên cứu cụ thể, giúp nó có thể áp dụng cho nhiều lĩnh vực.

Trong hướng dẫn này, ta sẽ chỉ cho bạn cách cài đặt devtools và sử dụng nó để cài đặt một gói trực tiếp từ GitHub.

Yêu cầu

Để làm theo, bạn cần R, được cài đặt trên server Ubuntu 16.04 với tối thiểu 1GB RAM và user không phải root có quyền sudo . Cách cài đặt R trên Ubuntu 16.04 có thể giúp bạn.

Bước 1 - Cài đặt phụ thuộc hệ thống cho devtools

Ta sẽ cài đặt devtools từ shell tương tác, nhưng trước khi thực hiện, ta cần cài đặt các phụ thuộc hệ thống sau:

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

Sau khi hoàn tất, ta đã sẵn sàng để tiếp tục.

Bước 2 - Cài đặt gói Devtools

Devtools sẽ cho phép ta cài đặt và xây dựng các gói trực tiếp từ GitHub, BitBucket, các file local , cũng như cài đặt các version cụ thể từ CRAN. Để cung cấp các devtools trên toàn bộ trang web, ta sẽ nhập shell của R làm folder root :

  • sudo -i R

Từ bên trong màn hình, ta sẽ sử dụng hàm install.packages() để cài đặt các devtools từ Mạng lưu trữ R toàn diện (CRAN) chính thức .

  • install.packages('devtools')

Khi được yêu cầu , ta sẽ chọn 1 cho 0-Cloud, mạng này sẽ kết nối ta với Mạng phân phối nội dung (CDN) do RStudio cung cấp, để có được bản sao gần nhất về mặt địa lý. Sau khi thực hiện lựa chọn của ta , quá trình cài đặt sẽ bắt đầu. Việc này có thể mất một lúc. Khi hoàn tất, gần cuối kết quả cài đặt, ta sẽ thấy:

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

Tiếp theo, ta sẽ đưa nó vào thử nghiệm khi ta tìm nạp và xây dựng một dự án trực tiếp từ GitHub.

Bước 3 - Cài đặt Gói R từ GitHub

Trong bước này, ta sẽ cài đặt bản phát triển mới nhất của Shiny, một khung ứng dụng web cho R, trực tiếp từ GitHub. Ta sẽ thực hiện việc này bằng cách sử dụng hàm install_github do devtools cung cấp. Một gói GitHub được xác định bởi tác giả của nó ( rstudio ) và tên của nó ( shiny ) mà bạn có thể tìm thấy từ URL GitHub của trang dự án chính: https://github.com/ rstudio/shiny .

Sử dụng lệnh sau để cài đặt:

  • devtools::install_github('rstudio/shiny')

Quá trình cài đặt đã hoàn tất thành công khi ta thấy các dòng sau ở gần cuối và được đưa trở lại dấu nhắc R:

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

Ta có thể xem version cụ thể của Shiny mà ta đã cài đặt bằng lệnh sau:

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

Trong bước tiếp theo, ta sẽ xem xét nhanh về Shiny. Trước tiên, ta cần thực hiện một số tác vụ cấp hệ thống, vì vậy ta sẽ thoát khỏi màn hình bằng lệnh sau hoặc bằng cách sử dụng CTRL-D .:

  • q()

Một trong hai cách này sẽ nhắc bạn lưu hình ảnh không gian làm việc của bạn , môi trường làm việc của R bao gồm các đối tượng do user xác định. Điều này không cần thiết, vì vậy bạn có thể nhập n một cách an toàn.

Vì ta sẽ sử dụng trình duyệt web để xem ví dụ về những gì Shiny có thể làm, ta sẽ đảm bảo lưu lượng truy cập web được phép.

Kiểm tra firewall

Shiny là một khung ứng dụng web, vì vậy để xem các ví dụ của nó trong trình duyệt, ta cần đảm bảo lưu lượng truy cập web được phép trên firewall của ta . Web server tích hợp chọn ngẫu nhiên một cổng mỗi khi nó được khởi động trừ khi nó được khởi động với một giá trị cụ thể. Để quản lý firewall dễ dàng hơn, ta sẽ chỉ định cổng 4040 khi chạy ví dụ của bạn .

Hãy kiểm tra trạng thái của firewall :

  • sudo ufw status

Trong trường hợp này, chỉ SSH được phép thông qua:

Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Bạn có thể có các luật khác hoặc không có luật firewall nào cả. Vì chỉ lưu lượng SSH được phép trong trường hợp này, ta sẽ thêm cổng 4040 và kiểm tra trạng thái khi ta hoàn tất:

  • sudo ufw allow 4040/tcp
  • sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 4040/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 4040/tcp (v6) ALLOW Anywhere (v6)

Với firewall được cấu hình , ta đã sẵn sàng để xem qua Shiny.

Chạy sáng bóng:

Ta sẽ kết nối với R, lần này với quyền là regular user :

  • R

Tiếp theo, ta sẽ tải shiny :

  • library("shiny")

Shiny bao gồm mười một ví dụ tích hợp chứng minh cách hoạt động của nó. Ta sẽ tải thư viện shiny , sau đó chạy ví dụ đầu tiên. Bởi vì ta đang làm việc trên một server từ xa, ta sẽ chỉ định địa chỉ server để duyệt từ máy local của ta . Ta cũng sẽ đặt launch.browser thành FALSE để nó không cố chạy trình duyệt trên server từ xa:

  • runExample("01_hello", host = "203.0.113.0", port = 4040, launch.browser= FALSE)
Output
Listening on http://203.0.113.0:4040

Hãy truy cập URL này trong trình duyệt web:

Ảnh chụp màn hình của ví dụ 01-Hello của Shiny

Ta đã cài đặt Shiny để minh họa bằng cách sử dụng devtools để cài đặt trực tiếp từ repository GitHub. Sau đó, ta chạy ứng dụng Shiny mẫu mà không có quyền nâng cao để xác minh tất cả user đều có quyền truy cập vào gói.

Cài đặt lại version ổn định của Shiny

Đối với tình huống production , ta sẽ cài đặt từ CRAN trừ khi ta có lý do thuyết phục để cài đặt từ repository .

Hãy dành một chút thời gian để trở lại gói ổn định. Đầu tiên, ta sẽ ngắt server bằng CTRL-C, sau đó thoát khỏi shell R bằng CTRL-D và nhập lại dưới dạng folder root :

  • sudo -i R

Vì ta đã thoát khỏi shell, ta sẽ được yêu cầu chọn một nhân bản và ta sẽ chọn lại 1 .

Ta có thể cài đặt version ổn định bằng lệnh sau, lệnh này sẽ overrides cài đặt từ GitHub mà ta đã hoàn thành ở bước trước đó:

  • install.packages("shiny")

Hãy kiểm tra thay đổi trong version :

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

Kết quả cho biết thay vì 0.14.9000 , version ta đã cài đặt từ GitHub, ta hiện đang chạy bản phát hành ổn định.

Lưu ý: Ta cũng có thể tìm hiểu thêm thông tin về version của gói từ dòng lệnh hệ thống từ file DESCRIPTION của nó.

  • cat /usr/local/lib/R/site-library/shiny/DESCRIPTION

Kết luận

Trong hướng dẫn này, ta đã cài đặt gói Shiny mới nhất trực tiếp từ GitHub và học cách cài đặt lại bản phát hành ổn định từ CRAN. Nếu bạn quan tâm đến việc tìm hiểu thêm về chính Shiny, bạn có thể cần xem hướng dẫn Shiny của RStudio. Bạn cũng có thể quan tâm đến việc cài đặt Server RStudio open-souce , một giao diện cho version R chạy trên server Linux từ xa, mang IDE đến triển khai dựa trên server .


Tags:

Các tin liên quan

Cách cài đặt Gói R bằng cách sử dụng devtools trên Ubuntu 16.04
2016-09-17
Cách sử dụng LVM để quản lý thiết bị lưu trữ trên Ubuntu 16.04
2016-09-14
Cách cài đặt và cấu hình PostGIS trên Ubuntu 14.04
2016-09-01
Cách thiết lập vsftpd cho Tải xuống ẩn danh trên Ubuntu 16.04
2016-08-25
Cách triển khai ứng dụng Node.js bằng Terraform trên Ubuntu 14.04
2016-08-25
Cách cấu hình Cụm Galera với MariaDB 10.1 trên server Ubuntu 16.04
2016-08-19
Cách tạo Mảng RAID với mdadm trên Ubuntu 16.04
2016-08-16
Cách quản lý mảng RAID với mdadm trên Ubuntu 16.04
2016-08-16
Cách thiết lập NFS Mount trên Ubuntu 16.04
2016-08-04
Cách cài đặt và sử dụng Byobu để quản lý thiết bị đầu cuối trên Ubuntu 16.04
2016-08-04