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

参考

Ubuntu20.04にRをインストールする方法