Ubuntu Weekly Recipe

第527回 UbuntuにRStudioをインストールする方法

この記事を読むのに必要な時間:およそ 7 分

6月29日に技術評論社からRユーザのためのRStudio[実践]入門が刊行されました。今回は,この書籍をUbuntu環境で勉強するために,⁠UbuntuユーザーのためのRStudio[インストール方法]入門」をお届けします。

RとRStudioについて

コンピュータ言語Rは統計学的計算とグラフ描画用のソフトウェアであり,データ解析から機械学習,レポート作成YouTubeの視聴やTwitterへのツイートに至るまで幅広く応用されている言語です※1)⁠また,RStudioはR言語向けの統合開発環境(IDE)です。RStudioのデスクトップ版はGUIツールキットとしてQtを採用しており,クロスプラットフォームを意識した作りになっているため,Ubuntuでも動作します。RとRStudioの詳しい解説は冒頭で紹介した書籍や各種サイトを参照してください。

※1
「R」という名前はGo言語並に「ぐぐらびりてぃ」が低い単語ではありますが,Googleさんだとけっこうなんとかしてくれます。

さて,前述のとおりRもRStudioもUbuntuで動きます。Rについては公式リポジトリにパッケージが存在しますので,インストール方法も比較的簡単です。しかしながらRは今風のプログラミング言語と同程度にはリリース周期が短いソフトウェアです。おおよそ1年間隔で3.3.0,3.4.0,3.5.0とバージョンアップしています。Rを使う動機によっては,どのバージョンをどのようにインストールするかを悩む必要が出てくるかもしれません。

RStudioのリリーススケジュールは不明ですが,こちらも短い周期で新しいバージョンがリリースされているようです。デスクトップ版とサーバー版,FLOSS版と商用版など,RStudioもインストールにあたってさまざまな選択肢が存在します。

それもあってかRユーザのためのRStudio[実践]入門ではmacOSとWindowsのインストール方法は紹介されてはいるものの,Linuxについては「Linux版が存在する」ことのみの紹介にとどまっていました。そこで今回はUbuntuにおけるRとRStudioのインストール方法を紹介します。

Rのインストール

例のごとくRのインストール方法にも複数の選択肢があります。Rそのものを開発するわけでも,複数のバージョンを使いたいわけでもないのであれば,主に次のリポジトリのいずれかが選択肢になるでしょう。

  • Ubuntu公式リポジトリ:3.4.4
  • Rプロジェクトのリポジトリ(CRAN版)⁠3.5.1

Ubuntuの公式リポジトリは一度リリースされたあと,特別な事情がない限りメジャーバージョンが変わるようなパッケージの更新は行われません※2)⁠不具合対応による更新は行われますが,一般的にはUpstreamの最新版に適用されたパッチを,適宜バックポートしていく形になります。よってUbuntu 18.04 LTSの公式リポジトリを使う限り,Rのバージョンは3.4.4のままです。

※2
「特別な事情」の有名な例がFirefoxです。

3.4.4では困る場合,Rプロジェクトのリポジトリを使うことになります。こちらはRプロジェクトがそのリリースに追随するようパッケージを作成しているため,ほぼノータイムで最新版を利用できます。このようなサードパーティのリポジトリを導入する場合,品質によっては既存の公式リポジトリとの整合性に問題が生じたり,パッケージそのものが問題を抱えているなどのリスクを考慮する必要があります。ただし,Rプロジェクトのリポジトリは,Debianのパッケージをベースに作成しており,十分に品質は高い印象です。

もしRプロジェクトのリポジトリを使う場合は,まず次のようにリポジトリとその公開鍵を登録してください。

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
Executing: /tmp/apt-key-gpghome.AgdGGdg0UK/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
gpg: key 51716619E084DAB9: public key "Michael Rutter <marutter@gmail.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1
$ echo "deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/" \
    | sudo tee /etc/apt/sources.list.d/cran.list
$ sudo apt update

まず公開鍵の登録についてです。Debianパッケージは,そのバイナリパッケージの正当性を検証できるよう個々のリポジトリの鍵で署名できる仕組みが備わっています。パッケージをダウンロードするクライアント側は,あらかじめリポジトリごとの公開鍵をダウンロードし鍵束に登録しておくことで,aptコマンドが自動的に署名を検証できるのです。公開鍵についてはいろいろな方法で取得可能ではありますが,その経路がセキュアであることが大前提になります。つまりユーザー側は,提示された鍵IDがまさにリポジトリの管理者が提供している鍵IDであることを何らかの方法で信頼する必要があるのです。

リポジトリの管理者しか変更できないようなサイトにおいて,HTTPSでアクセスできるウェブページ上に書かれていることが一般的です。言い方を変えると,それ以外の鍵IDについては利用するべきではありません。たとえば今回,Rプロジェクトのリポジトリの鍵ID「E084DAB9」を登録するコマンドを紹介しています。しかしながら本記事の読者は,このコマンド列を端末にコピー&ペーストして実行すべきではありません。

より正しい対応方法は,提示されたRプロジェクトのリポジトリへ訪れ,そのサイトがリポジトリの管理者によって作成されたページかどうかや,サイトに安全な経路でアクセスしているかどうかを確認し,その上でそのサイトに書かれている鍵IDを使って登録することです。面倒かもしれませんが,常日頃からこのような確認を行なう癖をつけておきましょう。

ちなみにリポジトリとして「bionic-cran35」を指定していますが,これは18.04(bionic)向けにR 3.5.xを提供するリポジトリです。より古いリリースの場合は,名前が違いますので適宜確認してください。ちなみにbionic向けの3.4.xのリポジトリは存在しません。これはUbuntuの公式リポジトリが3.4.xに対応しているからだと思われます。

さて,公式リポジトリとCRAN版リポジトリ,どちらを使う場合も,パッケージの命名ルールは同じです。よって,バージョン以外についてはどちらのリポジトリを使っているかを意識することはあまりないでしょう。

一般的には,Rは次のようにインストールします。

$ sudo apt install r-base-core

R関連のDebianパッケージはおおよそ次の種別にわかれています。

  • r-base-core:R本体※3
  • r-recommended:CRANにある有用なRパッケージに依存するメタパッケージ
  • r-cran-FOO:CRANにあるRパッケージをDebianパッケージ化したもの
  • r-base-dev:Rパッケージをインストールする際に必要になる開発版パッケージ
  • r-doc-FOO:Rマニュアル(HTML版,PDF版,Info版)
※3
過去の互換性からr-baseというパッケージも存在しますが,これはr-base-coreとr-recommendedに依存しているだけのメタパッケージです。よって両方を明示的にインストールするのであれば,r-baseのインストールは不要です。ちなみにr-base-coreはr-recommendedに依存はしておらず,Recommendsフィールドにのみ記述してます。つまりsudo apt install --no-install-recommends r-base-coreと実行することで,CRANパッケージをまったくインストールしない環境を構築できます。ただし後述のRStudioがr-baseにRecommendsしているので,RStudioインストール時にも注意が必要です。

Rは他の言語と同様に,独自のパッケージ管理システムを持っています。そのRパッケージをアーカイブしているR公式のリポジトリがCRAN(Comprehensive R Archive Network)です。Rはinstall.packages()関数を使うことでインタプリターやスクリプトの中からパッケージをインストールできます。また,Ubuntu公式リポジトリでも主だったRパッケージはDebianパッケージ化されており,それらは「r-cran-FOO」のような名前が付けられています。必要に応じてDebianパッケージ版かCRAN版かを使い分けると良いでしょう。

r-base-coreとr-recommendedに属するCRAN系のパッケージは/usr/lib/R/libraryにインストールされます。それ以外のCRAN系のパッケージは/usr/lib/R/site-libraryにインストールされます。install.packages()を実行した場合のインストール先は環境やオプションに依存します。

r-base-devは,install.packages()を呼び出す際に必要になるパッケージをまとめたものです。Rパッケージによってはインストール時に何がしかのコードをコンパイルすることがあります。よってインストール前にあらかじめコンパイラなどを用意しておく必要があるのです。なお,r-base-devは一般的に必要になるものだけをまとめているので,Rパッケージによっては別途インストールが必要な場合もあります。

r-doc-FOOをインストールすればローカルのウェブブラウザーからRのマニュアルを参照できます。任意のウェブブラウザーで(file:///usr/share/R/doc/manual/)を開いてください。

R本体は次のように起動できます。

$ R

R version 3.4.4 (2018-03-15) -- "Someone to Lean On"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R は,自由なソフトウェアであり,「完全に無保証」です。
一定の条件に従えば,自由にこれを再配布することができます。
配布条件の詳細に関しては,'license()' あるいは 'licence()' と入力してください。

R は多くの貢献者による共同プロジェクトです。
詳しくは 'contributors()' と入力してください。
また,R や R のパッケージを出版物で引用する際の形式については
'citation()' と入力してください。

'demo()' と入力すればデモをみることができます。
'help()' とすればオンラインヘルプが出ます。
'help.start()' で HTML ブラウザによるヘルプがみられます。
'q()' と入力すれば R を終了します。

> version
               _
platform       x86_64-pc-linux-gnu
arch           x86_64
os             linux-gnu
system         x86_64, linux-gnu
status
major          3
minor          4.4
year           2018
month          03
day            15
svn rev        74408
language       R
version.string R version 3.4.4 (2018-03-15)
nickname       Someone to Lean On

ちなみにCRANパッケージにあるパッケージをすべてDebianパッケージ化したPPAも存在しますR 3.5版R 3.4版)⁠これはcran2deb4ubuntuというコマンドで構築しているようです。どうしてもDebianパッケージだけで環境を構築したい場合に便利かもしれません。

Debianパッケージ版のRのみを使う限りは,同じシステム上で複数バージョンのRの共存はできません。もし何らかの理由で異なるバージョンのR本体を使い分けたい場合は,Renvまたは各種言語の「なんとかenv」のラッパーとなるanyenvの使用を検討してください。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入