私の PC(Ubuntu20.04-x64) には R3.6.3 がインストールされているんですが、パッケージをインストールする際にコンパイルするため、やたらと時間がかかるものがあるあたりはまだ良いんですが、コンパイルに失敗するものも稀にあったりします。そんなときに思うのは、
Windows の R だったらバイナリがインストールできるから、こうゆうことはないんだろうな…、、、って。
うん?そういえば R のページで 4.1 のインストール方法に加えて、 "c2d4u" のインストールが紹介されていたな。ちょっと試して見ようかなと。
c2d4uってなに?
よく分かっていないんですが、通常 "R" でパッケージをインストールする場合は、 R 上でinstall.packages()
を使うんですが、 c2d4u をリポジトリに追加すれば sudo apt install r-cran-****
という感じで apt コマンドでコンパイル済みの R のパッケージをインストールできるみたいです。
まずは R4.1のインストール
https://cran.r-project.org/bin/linux/ubuntu/ にアクセスするとインストール方法が書いてあるのでそれに従ってインストールを行います。
sudo apt update -qq
sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt update
sudo apt install --no-install-recommends r-base
R のバージョンが 4 系になっていることを確認します。
$ R --version
R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 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/.
c2d4u のインストール
これも書いてあるのを参考にインストールします。
sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+
sudo apt update
c2d4u を試してみる
試してみたいと思います。まずは tidyverse をインストールしてみます。依存するライブラリが多いので大丈夫かなと思ったんですが、無事インストールされました。
sudo apt -y install --no-install-recommends r-cran-tidyverse
本当に使えるかためしてみます。
> library(dplyr)
> c("hello","world") %>% stringr::str_flatten(", ")
[1] "hello, world"
確かに使えるようです。
もうちょっと試してみる①
以前「Rコマンダー」を試そうとおもったら結構時間かかった記憶があるので改めて試してみます。sudo apt install r-cran-rcmdr
を実行してみたところインストールはさくっとできました。
で、 R を起動して library(Rcmdr)
としてみたところ、以下のようなエラーが、
ここで「Yes」とすると当然ですが R のパッケージをインストールになってしまいます。さらに r-base をインストールする際に --no-install-recommends を指定したためかコンパイラ関係がインストールされていないみたいで make がないみたいなエラーになってしまいます。
ないって言われているライブラリを apt でインストールしようと思ったんですが、エラーダイアログの文字列がコピペできず。
なら手打ちしたらいいと思うんですが、それは最終手段ということで、まずはコピペできる方法ないかと探してみたんですが見つからず。
仕方ないからスクリーンショットとって tesseract -l eng
で OCR 処理して sudo apt install r-cran-sem r-cran-rgl r-cran-multcomp r-cran-markdown r-cran-lmtest r-cran-leaps
を実行しました。
でもって再度実行してみたところエラーはでなくなりました。
メッセージボックス中のコピーできないテキストのコピーと、スクリーンショット&OCR を簡単にできる方法は今後の課題にしようかなと思います。
もうちょっと試してみる②
以前インストールに失敗した記憶のある https://rpubs.com/heruwiryanto/Causal_impact で紹介されている CausalImpact で試してみたいと思います。
apt search CausalImpact
としてみると発見できません、つまり登録されていないようです。 CausalImpact は無理そうなんですが依存しているライブラリはインストールできるかもということで、 R のパッケージと c2d4u を組み合わせてできるのか試してみたいと思います。
まずは CausalImpact の依存関係を調べます。
> tools::package_dependencies(packages = "CausalImpact")
$CausalImpact
[1] "bsts" "assertthat" "Boom" "dplyr" "ggplot2"
[6] "zoo"
でもってその依存するパッケージを R からではなく apt
コマンドからインストールします。
sudo apt install --no-install-recommends r-cran-bsts r-cran-assertthat r-cran-boom r-cran-dplyr r-cran-ggplot2 r-cran-zoo
無事にインストールできたら CausalImpact をインストールしてみます。
install.packages("CausalImpact")
あっけなくインストールできました。コンパイルが必要ないということは R だけで作られているってことなんでしょうか。
恐る恐るサンプルを試してみたところ、あっけなく実行できました。
ま、こんなところじゃないでしょうか
私のスキル不足もあってか、すべてがまるっとはいきませんでしたが、それなりに楽しかったので良しとしておきましょう。
ただ c2d4u への移行はもうちょっと後にしようかなと思っています。