search
LoginSignup
2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2
Help us understand the problem. What are the problem?