Help us understand the problem. What is going on with this article?

Ubuntuを導入して最新のRのインストール、パッケージtidyverseとrstanを構築する

1.はじめに

Ubuntu 20.04.1 LTS を導入するにあたっての初期化に伴い、Rの再インストール及びパッケージの再構築をした。
少し手間がかかったので、その過程を記録します。【令和2年11月25日現在】

2.環境

OS: Ubuntu 20.04.1 LTS 
     Windows10               
  (ダブルブート)
CPU: AMD® Ryzen 5 3500u    
メモリ: 13.6GiB

3.R 及び RStudioのインストール

ターミナルを立ち上げ、次のコマンドを打ちます。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'
sudo apt update
sudo apt install r-base

R version 4.0.3 (2020-10-10)がインストールできました。

次に、最新のRStudio Desktop 1.3.1093をダウンロードします。
まだ、Ubuntu 20用はないので、(Ubuntu 18/Debian 10)を選択します。
https://rstudio.com/products/rstudio/download/#download
ダウンロードしたdebファイルは、右クリックして「ソフトウェアのインストールで開く」を選択し、インストールします。

4.パッケージtidyverseのインストール

Rのターミナルに次のコマンドを打ちます。

install.packages("tidyverse")

ERROR: dependencies ‘httr’, ‘rvest’, ‘xml2’ are not available for package ‘tidyverse’

‘httr’, ‘rvest’, ‘xml2’がないとエラーが吐き出されます。

上記の依存パッケージに加え、linuxのパッケージのインストールを求められます。
libxml2-dev (Debian, Ubuntu, etc)

そこで、ターミナルを立ち上げ、コマンドを打ちます。

sudo apt install libxml2-dev

次にRのターミナルに打ち込みます。

install.packages("xml2")

またエラーがでて‘httr’の依存パッケージをインストールするために、次のlinuxのパッケージのインストールを求められます
libssl-dev
そこで、ターミナルを立ち上げ、コマンドを打ちます。

sudo apt install libssl-dev

次にRのターミナルに次のコマンドを打ちます。

install.packages("httr")

またエラーがでます。
ERROR: dependency ‘curl’ is not available for package ‘httr’

そこで‘curl’をインストールしようとすると、linuxのパッケージ libcurl4-openssl-dev が必要と言われます。
また、ターミナルを立ち上げ、コマンドを打ちます。

sudo apt install libcurl4-openssl-dev

そして、気を取り直し、Rのターミナルより残りのパッケージをインストールします。

install.packages("cutl")
install.packages("rvest")
install.packages("tidyverse")

> library(tidyverse)
─ Attaching packages ─────────── tidyverse 1.3.0 ─
✓ ggplot2 3.3.2     ✓ purrr   0.3.4
✓ tibble  3.0.4     ✓ dplyr   1.0.2
✓ tidyr   1.1.2     ✓ stringr 1.4.0
✓ readr   1.4.0     ✓ forcats 0.5.0
─ Conflicts ───────────── tidyverse_conflicts() ─
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
> 

無事に"tidyverse"のインストールが完了しました。

5.パッケージrstanのインストール

Rのターミナルに次のコマンドを打ちます。

install.packages("rstan")

ERROR: dependency ‘V8’ is not available for package ‘rstan’
依存パッケージ‘V8’がないとエラーが吐き出され、インストールしようとすると、libv8-dev が必要と言われます。
そこで、また、ターミナルを立ち上げ、打ちます

sudo apt install libv8-dev

その後、Rのターミナルを立ち上げ、

install.packages("V8")
install.packages("rstan")
 
・・時間がかかる・・

> library(rstan)
 要求されたパッケージ StanHeaders をロード中です 
rstan (Version 2.21.2, GitRev: 2e1f913d3ca3)
For execution on a local, multicore CPU with excess RAM we recommend calling
options(mc.cores = parallel::detectCores()).
To avoid recompilation of unchanged Stan programs, we recommend calling
rstan_options(auto_write = TRUE)

 次のパッケージを付け加えます: ‘rstan’ 

 以下のオブジェクトは ‘package:tidyr’ からマスクされています: 

     extract 

> 

パッケージのインストールにやたらと時間がかかり、不安になりますが、ほっておくとそのうちに完了します。
これで、無事に‘rstan’ のインストールが完了しました。

6.まとめ

Rのパッケージ"tidyverse"と”rstan”のインストールに必要なlinuxコマンドをまとめます。

sudo apt install libxml2-dev
sudo apt install libssl-dev
sudo apt install libcurl4-openssl-dev
sudo apt install libv8-dev
kenkenvw
非ITエンジニアです。病害虫防除所という農業関係の仕事をしています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away