前書き
Rは、統計計算とグラフィックスに特化した人気のあるオープンソースプログラミング言語です。 統計ソフトウェアの開発とデータ分析の実行に広く使用されています。 Rは簡単に拡張でき、コミュニティは特定の研究分野向けにユーザー生成パッケージを継続的に追加することで知られています。これにより、多くの分野に適用できます。
このチュートリアルでは、devtoolsをインストールし、それを使用してGitHubから直接パッケージをインストールする方法を示します。
前提条件
これに従うには、最低1GBのRAMと `+ sudo +`権限を持つ非rootユーザーを持つUbuntu 16.04サーバーにインストールされたRが必要です。 Ubuntu 16.04でRをセットアップする方法が役立ちます。
ステップ1-devtoolsのシステム依存関係のインストール
対話型シェルからdevtoolsをインストールしますが、実行する前に、これらのシステム依存関係をインストールする必要があります。
sudo apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
これが完了すると、続行する準備が整いました。
ステップ2-Devtoolsパッケージのインストール
Devtoolsを使用すると、GitHub、BitBucket、ローカルファイルから直接パッケージをインストールおよびビルドでき、CRANから特定のバージョンをインストールできます。 サイト全体で `+ devtools +`を利用できるようにするには、ルートとしてRのシェルを入力します。
sudo -i R
モニター内から、 `+ install.packages()`関数を使用して、公式のhttp://cran.r-project.org/[Comprehensive R Archive Network(CRAN)]から ` devtools +`をインストールします。 。
install.packages('devtools')
プロンプトが表示されたら、0-Cloudに1を選択します。これにより、地理的に最も近いミラーを取得するために、RStudioが提供するコンテンツ配信ネットワーク(CDN)に接続します。 選択後、インストールが開始されます。 これは時間がかかる場合があります。 完了すると、インストール出力の終わり近くに、次のように表示されます。
Output...
** testing if installed package can be loaded
* DONE (devtools)
次に、GitHubから直接プロジェクトを取得してビルドする際に、それをテストします。
ステップ3-GitHubからRパッケージをインストールする
このステップでは、R用のWebアプリケーションフレームワークであるShinyの最新の開発ビルドをGitHubから直接インストールします。 これは、「+ devtools 」によって提供される「 install_github 」関数を使用して行います。 GitHubパッケージは、その作成者( ` rstudio `)とその名前( ` shiny `)によって定義されます。これは、メインプロジェクトページのGitHub URL: ` https:// github.com / +`から見つけることができます。
次のコマンドを使用してインストールします。
devtools::install_github('rstudio/shiny')
終わり近くに次の行が表示され、Rプロンプトに戻ると、インストールは正常に完了しています。
Output. . .
** testing if installed package can be loaded
* DONE (shiny)
>
次のコマンドを使用して、インストールしたShinyの特定のバージョンを確認できます。
packageVersion("shiny")
Output[1] ‘0.14.0.9000’
次のステップでは、Shinyを簡単に見ていきます。 最初にいくつかのシステムレベルのタスクを実行する必要があるため、次のコマンドを使用するか、CTRL-Dを使用してモニターを終了します。
q()
どちらの場合も、ユーザー定義オブジェクトを含むRの作業環境であるワークスペースイメージを保存するよう求められます。 これは必要ないので、安全に「+ n +」を入力できます。
Webブラウザを使用してShinyでできることの例を確認するため、Webトラフィックが許可されるようにします。
ファイアウォールを確認する
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
次に、 `+ shiny`をロードします。
library("shiny")
Shinyには、動作の仕組みを示す11の組み込みサンプルが含まれています。 `+ shiny `ライブラリをロードしてから、最初の例を実行します。 リモートサーバーで作業しているため、ローカルマシンから参照するためにホストアドレスを指定します。 また、リモートサーバーでブラウザを起動しようとしないように、「 launch.browser」を「+ FALSE」に設定します。
runExample("01_hello", host = "", port = 4040, launch.browser= FALSE)
OutputListening on http://:4040
WebブラウザでこのURLにアクセスしてみましょう。
image:http://assets.digitalocean.com/articles/R-1604/shiny-01-hello.png [Shinyの01-Helloサンプルのスクリーンショット]
Shinyをインストールして、 `+ devtools +`を使用してGitHubリポジトリから直接インストールする方法を説明しました。 次に、昇格した特権なしでサンプルのShinyアプリケーションを実行し、すべてのユーザーがパッケージにアクセスできることを確認しました。
Shinyの安定バージョンの再インストール
本番環境では、リポジトリからインストールする説得力のある理由がない限り、CRANからインストールします。
安定したパッケージに戻りましょう。 まず、CTRL-Cでサーバーを中断し、次にCTRL-DでRシェルを終了し、ルートとして再入力します。
sudo -i R
シェルを終了したので、ミラーを選択するよう求められ、再度選択します。
次のコマンドで安定バージョンをインストールできます。これにより、前の手順で完了したGitHubからのインストールが上書きされます。
install.packages("shiny")
バージョンの変更を確認しましょう:
packageVersion("shiny")
Output[1] ‘0.14’
出力は、GitHubからインストールしたバージョンである「0.14.9000」ではなく、安定版リリースを実行していることを示しています。
結論
このチュートリアルでは、最新のShinyパッケージをGitHubから直接インストールし、CRANから安定版リリースを再インストールする方法を学びました。 Shiny自体について詳しく知りたい場合は、RStudioのhttp://shiny.rstudio.com/tutorial/[Shiny tutorial]をご覧ください。 また、https://www.digitalocean.com/community/tutorials/how-to-set-up-rstudio-on-an-ubuntu-cloud-server [オープンソースのRStudioサーバーのインストール]、インターフェースにも興味があるかもしれません。リモートLinuxサーバーで実行されているRのバージョンへ。これにより、IDEがサーバーベースの展開になります。