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

参考

関連する記事

  • Python pyqueryを用いて簡単にウェブスクレイピングPython pyqueryを用いて簡単にウェブスクレイピング Pythonでpyqueryパッケージを用いて、ウェブスクレイピングを行う方法をご紹介する。ウェブ上には様々なデータがあるが、必要なデータがいつもファイルとしてダウンロードできるとは限らない。ここでご紹介する方法は、htmlファイルを直接解析して、必要な情報を取得するという方法である。 それでは、さっそく見ていこう。 Ubuntu […]
  • 平均的に分類する方法の考察(2)平均的に分類する方法の考察(2) 前回は、100人の学生のスコアを求めて、スコアの昇順に3つのグループに振り分ける方法を試した。振り分け方は、単純に、3つのグループに属する学生の少ないほうからである。前回の終わりに、各インデックスの平均値を考慮したものを考えてみると書いたが、その前に、一つ確認しておかなければならないことを忘れていたので、今回はその確認をしようと思う。 何を確認し忘れたかというと、全体の […]
  • Ubuntu,R h2oパッケージのインストールの方法Ubuntu,R h2oパッケージのインストールの方法 Rのパッケージh2oは、さまざまなクラスタ環境内のニューラルネットワーク(ディープラーニング)、ランダムフォレスト、勾配ブースティングマシン、一般化線形モデルなどの並列分散機械学習アルゴリズムを計算するビッグデータのためのオープンソースの数学エンジンH2O用のRスクリプト機能である。 ここでは、ubuntu14.04環境下でh2oパッケージのインストールの仕方についてお […]
  • 度数分布表とヒストグラム度数分布表とヒストグラム 数値データの集合をただ眺めても、そのデータの特徴をつかむのは大変難しい。しかし、そのデータを表にまとめたもの、またはグラフにすると一目瞭然だ。特に、グラフにしたものは、大変分かりやすい。表にまとめたものを度数分布表、グラフにしたものをヒストグラムという。 では、早速具体的に見ていく。 度数分布表 度数分布表とは、以下の表のことを言う。ここで用いたデータは、統計Rに付 […]
  • Python 度数分布表から乱数を生成するPython 度数分布表から乱数を生成する Pythonで与えられた度数分布に従う乱数を生成する方法をご紹介する。 さっそくだが、全コードを以下に記す。 import random import matplotlib.pyplot as plt def random_freq_index(freq_list): """ 度数分布表から乱数を生成してインデックス番号を返します […]
Ubuntu20.04にRをインストールする方法