Ubuntu18.04でdevtoolsを使用してRパッケージをインストールする方法

提供:Dev Guides
移動先:案内検索

序章

人気のあるオープンソースプログラミング言語であるRは、統計計算とグラフィックスを専門としています。 統計ソフトウェアの開発やデータ分析に広く利用されています。 Rコミュニティは、特定の研究分野向けにユーザーが生成したパッケージを継続的に追加することで知られており、多くの分野に適用できます。

このチュートリアルでは、devtoolsをインストールし、それを使用してGitHubから直接Rパッケージをインストールする方法について説明します。

前提条件

このチュートリアルを実行するには、次の機能を備えたUbuntu18.04サーバーが必要です。

これらの前提条件が整ったら、始める準備ができています。

ステップ1—devtoolsのシステム依存関係をインストールする

インタラクティブシェルからdevtoolsをインストールしますが、インストールする前に、次のシステム依存関係をインストールする必要があります。

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

これらの依存関係が整ったら、続行する準備が整います。

ステップ2—devtoolsパッケージをインストールする

devtoolsを使用すると、GitHub、BitBucket、ローカルファイルから直接パッケージをインストールしてビルドし、CRANから特定のバージョンをインストールできます。 devtoolsをシステム全体で利用できるようにするために、rootとしてRのシェルを入力します。

sudo -i R

モニター内から、install.packages()機能を使用して、公式の総合Rアーカイブネットワーク(CRAN)からdevtoolsをインストールします。

install.packages('devtools')

インストールには時間がかかる場合があります。 完了すると、インストール出力の終わり近くに、次のように表示されます。

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

次に、GitHubから直接プロジェクトをフェッチしてビルドするときに、テストします。

ステップ3—GitHubからRパッケージをインストールする

このステップでは、R用のWebアプリケーションフレームワークであるShinyの最新の開発ビルドをGitHubから直接インストールします。 これは、devtoolsが提供するinstall_github関数を使用して行います。 GitHubパッケージは、その作成者(rstudio)とその名前(shiny)によって定義され、メインプロジェクトページのGitHubURLから見つけることができます:https://github.com/rstudio/shiny

次のコマンドを使用してインストールします。

devtools::install_github('rstudio/shiny')

出力の終わり近くに次の行が表示され、Rプロンプトに戻ると、インストールは正常に完了しています。

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

次のコマンドを使用して、インストールしたShinyの特定のバージョンを確認できます。

packageVersion("shiny")
Output[1] ‘1.1.0.9000’

次のステップでは、Shinyについて簡単に説明します。 最初にいくつかのシステムレベルのタスクを実行する必要があるため、次のコマンドまたはCTRL-Dを使用してモニターを終了します。

q()

これらのいずれかにより、ユーザー定義オブジェクトを含むRの作業環境であるワークスペースイメージを保存するように求められます。 これは私たちの目的には必要ないので、nと安全に入力できます。

シャイニーができることの例を見るのにウェブブラウザを使用するので、ウェブトラフィックが許可されていることを確認します。

ファイアウォールを確認してください

ShinyはWebアプリケーションフレームワークであるため、その例をブラウザーで表示するには、ファイアウォールでWebトラフィックが許可されていることを確認する必要があります。 組み込みのWebサーバーは、特定の値で開始しない限り、開始するたびにランダムにポートを選択します。 ファイアウォール管理を容易にするために、この例を実行するときにポート4040を指定します。

ファイアウォールが有効になっている場合は、ファイアウォールのステータスを確認しましょう。

sudo ufw status

前提条件のチュートリアルに従った場合、次の出力に示すように、SSHのみが許可されます。

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

他のルールが設定されているか、ファイアウォールルールがまったくない可能性があります。 この場合、SSHトラフィックのみが許可されるため、ポート4040を追加し、完了したらステータスを確認します。

sudo ufw allow 4040/tcp
sudo ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
4040/tcp                   ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
4040/tcp (v6)              ALLOW       Anywhere (v6)

ファイアウォールが構成されたら、Shinyを確認する準備が整いました。

シャイニーを実行します。

今回は通常のユーザーとしてRに接続します。 タイトルケースとして必ずRと入力してください。

R

次に、Shinyパッケージをロードします。

library("shiny")

シャイニーには、それがどのように機能するかを示す11の組み込みの例が含まれています。 ライブラリをロードしてから、最初の例を実行します。 リモートサーバーで作業しているため、ローカルマシンから参照するためにホストアドレスを指定します。 また、launch.browserFALSEに設定して、リモートサーバーでブラウザーを起動しようとしないようにします。

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

WebブラウザでこのURLにアクセスしてみましょう。

devtoolsを使用してGitHubリポジトリから直接インストールする方法を説明するためにShinyをインストールしました。 次に、昇格された特権なしでサンプルのShinyアプリケーションを実行して、すべてのユーザーがパッケージにアクセスできることを確認しました。

安定バージョンのShinyを再インストールする

実稼働環境では、リポジトリからインストールするやむを得ない理由がない限り、CRANからインストールします。

安定したパッケージに戻りましょう。 まず、CTRL + Cでサーバーに割り込んでから、CTRL + DでRシェルを終了し、rootとして再入力します。

sudo -i R

次のコマンドを使用して安定版をインストールできます。これにより、前の手順で完了したGitHubからのインストールが上書きされます。

install.packages("shiny")

バージョンの変更を確認しましょう:

packageVersion("shiny")
Output[1] ‘1.1.0’

出力は、GitHubからインストールしたバージョンである1.1.0.9000の代わりに、安定版リリースを実行していることを示しています。

注:パッケージのバージョンに関する詳細は、DESCRIPTIONファイルのシステムコマンドラインからも確認できます。

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

結論

このチュートリアルでは、最新のShinyパッケージをGitHubから直接インストールし、CRANから安定したリリースを再インストールする方法を学びました。

シャイニー自体についてもっと知りたい場合は、RStudioのシャイニーチュートリアルをご覧ください。 また、オープンソースのRStudio Server をインストールすることもできます。これは、リモートLinuxサーバーで実行されているバージョンのRへのインターフェイスであり、IDEをサーバーベースの展開にもたらします。