Ubuntu 20.04 LTSにRをインストールする方法についてお伝えします。

作業は端末上で行うため、端末を起動しておきます(ショートカットキー:Ctrl+Alt+t)。

Ubuntuのバージョンを確認

Ubuntuのバージョンを確認するために、以下のコマンドを実行します。
Ubuntu 20.04と表記されていることを確認します。


$ cat /etc/lsb-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

リポジトリから最新のRのインストール

ここでは、2021年6月29日現在で最新のR 4.1をインストールすることにします。
パッケージの一覧を更新しておきます。


$ sudo apt update

GPGキーを登録します。


$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

次にaptのリポジトリに登録します。
次のコマンドの最後が「cran40」となっておりますが、R 4.1がインストールされます。


$ sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"

–no-install-recommendsありでRをインストール

デフォルトでは、必須でないパッケージもインストールされるのため、このようなパッケージが不要ならば次のコマンドでRをインストールします。


$ sudo apt install --no-install-recommends r-base

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libblas3 libcurl4 libgfortran5 liblapack3 libtcl8.6 libtk8.6 r-base-core r-cran-boot r-cran-class r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass
  r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart r-cran-spatial r-cran-survival r-recommended
提案パッケージ:
  tcl8.6 tk8.6 elpa-ess r-doc-info | r-doc-pdf r-mathlib r-base-html
推奨パッケージ:
  r-base-html r-doc-html r-base-dev
以下のパッケージが新たにインストールされます:
  libblas3 libcurl4 libgfortran5 liblapack3 libtcl8.6 libtk8.6 r-base r-base-core r-cran-boot r-cran-class r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice
  r-cran-mass r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart r-cran-spatial r-cran-survival r-recommended
アップグレード: 0 個、新規インストール: 24 個、削除: 0 個、保留: 0 個。
50.9 MB のアーカイブを取得する必要があります。
この操作後に追加で 86.5 MB のディスク容量が消費されます。

–no-install-recommendsなしでRをインストール

提案されるパッケージも含めてRをインストールするならば次のコマンドを実行します。


$ sudo apt install r-base

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  bzip2-doc gfortran gfortran-9 icu-devtools libblas-dev libblas3 libbz2-dev libcurl4 libgfortran-9-dev libgfortran5 libicu-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblapack-dev
  liblapack3 liblzma-dev libncurses-dev libncurses5-dev libpcre16-3 libpcre2-16-0 libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpng-dev libpng-tools libreadline-dev
  libtcl8.6 libtk8.6 r-base-core r-base-dev r-base-html r-cran-boot r-cran-class r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass r-cran-matrix
  r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart r-cran-spatial r-cran-survival r-doc-html r-recommended zlib1g-dev
提案パッケージ:
  gfortran-multilib gfortran-doc gfortran-9-multilib gfortran-9-doc libcoarrays-dev liblapack-doc icu-doc liblzma-doc ncurses-doc readline-doc tcl8.6 tk8.6 elpa-ess r-doc-info | r-doc-pdf
  r-mathlib texlive-base texlive-latex-base texlive-plain-generic texlive-fonts-recommended texlive-fonts-extra texlive-extra-utils texlive-latex-recommended texlive-latex-extra texinfo
以下のパッケージが新たにインストールされます:
  bzip2-doc gfortran gfortran-9 icu-devtools libblas-dev libblas3 libbz2-dev libcurl4 libgfortran-9-dev libgfortran5 libicu-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblapack-dev
  liblapack3 liblzma-dev libncurses-dev libncurses5-dev libpcre16-3 libpcre2-16-0 libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpng-dev libpng-tools libreadline-dev
  libtcl8.6 libtk8.6 r-base r-base-core r-base-dev r-base-html r-cran-boot r-cran-class r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass r-cran-matrix
  r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart r-cran-spatial r-cran-survival r-doc-html r-recommended zlib1g-dev
アップグレード: 0 個、新規インストール: 53 個、削除: 0 個、保留: 0 個。
77.6 MB のアーカイブを取得する必要があります。
この操作後に追加で 209 MB のディスク容量が消費されます。

Rの起動確認

Rのインストールが完了したら、端末上で次のコマンドを入力して起動するかを確認します。
問題なく起動できた場合は、「q()」を入力後確定してRを終了します。


$ R

R version 4.1.0 (2021-05-18) -- "Camp Pontanezen"
Copyright (C) 2021 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 を終了します。

RStudioのサイトから古いバージョンのRをインストール

古いバージョンのRをインストールするには、いくつかの方法があります。
ここでは、最も簡単と思われるRStudioのサイトからダウンロードしてソースコードからインストールする方法を記載します。
今回は、R 3.6.3をソースコードからインストールすることにします。
パッケージの一覧を更新しておきます。


$ sudo apt update

今回の作業を行うにあたって、必要となるソフトウェアまたはライブラリをインストールしておきます。
これらのソフトウェアまたはライブラリは、R 3.6.3をインストールするためのものなので、3.6.3以外のバージョンでは異なるライブラリが必要となるかもしれないことにご注意ください。


$ sudo apt install curl build-essential gfortran libreadline-dev xorg-dev libbz2-dev liblzma-dev libpcre3-dev libcurl4-openssl-dev openjdk-16-jdk

インストールしたいRの古いバージョンを環境変数に設定しておきます。


$ export R_VERSION=3.6.3

ソースコードをダウンロードして解凍後、ディレクトリを移動します。


$ curl -O https://cran.rstudio.com/src/base/R-3/R-${R_VERSION}.tar.gz
$ tar -xzvf R-${R_VERSION}.tar.gz
$ cd R-${R_VERSION}

ソースコードのビルドとインストールを行います。


$ ./configure \
    --prefix=/opt/R/${R_VERSION} \
    --enable-memory-profiling \
    --enable-R-shlib \
    --with-blas \
    --with-lapack
$ make
$ sudo make install

Rのインストールが完了したら、端末上で次のコマンドを入力して起動するかを確認します。
問題なく起動できた場合は、「q()」を入力後確定してRを終了します。


$ /opt/R/${R_VERSION}/bin/R --version
R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
Copyright (C) 2020 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 the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.

シンボリックリンクを作成して、いつも通りの「R」コマンドだけでRが立ち上がるようにしておきます。


$ sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R
$ sudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript

参考

関連する記事

  • 経営戦略を導き出すための簡単な時系列分析の方法経営戦略を導き出すための簡単な時系列分析の方法 売上高のような時系列データをただ眺めていても、経営戦略を導き出すための示唆を得ることは難しい。 ここでは、売上高のような時系列データを時間に比例する部分と時間に比例しない部分とに分けてとらえると、どのような示唆を得ることができるのかをお伝えする。 この時間に比例する部分と時間に比例しない部分に分けるというのは、変動損益計算書に似ている。 変動損益計算書とは、 […]
  • 教師あり学習と教師なし学習のふわっとした説明教師あり学習と教師なし学習のふわっとした説明 機械学習の教師あり学習と教師なし学習について、難しい専門用語を全く使わずに概要を分かりやすく説明してみます。 プログラムとは まず、プログラムについてふわっと説明します。 このページをご覧になられているということは、ブラウザと呼ばれるプログラム(例えば、Google ChromeやMicrosoft Edge、Mozilla Firefox、Apple […]
  • R 関数の引数が省略記号(…)を持つかどうかを判定する方法R 関数の引数が省略記号(…)を持つかどうかを判定する方法 ある関数の引数に省略記号である三連ドット(...)を持つかどうかを判定する関数を作成しましたので共有いたします。 判定する関数は次になります。 is_dots […]
  • R言語 CRAN Task View:Web技術とサービスR言語 CRAN Task View:Web技術とサービス CRAN Task View: Web Technologies and Servicesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Scott Chamberlain, Thomas Leeper, Patrick Mair, Karthik Ram, Christopher […]
  • Bioconductor Workflowパッケージ一覧Bioconductor Workflowパッケージ一覧 BioconductorのWorkflowパッケージの一覧をご紹介します。英語での説明文をgoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。パッケージを探す参考にしていただければ幸いです。 パッケージ確認日:2021/07/01 パッケージ数:29 1. rnaseqGene RNA-seq workflow: gene-level […]
Ubuntu20.04にRをインストールする方法