LoginSignup
1
3

More than 5 years have passed since last update.

Linux MintにRとよく使うパッケージとかをインストール

Posted at

Linux Mintって?

Ubuntu派生のディストロで、使いやすくてUIもよい。
Unityなんてなかった!!(本家Ubuntuでも18からGnomeに戻るらしい)

別にRedHat系でもOpenSuse系でもよいのだけれど、Linuxにすると、RStudioServerが使えて、色んな端末から同じ環境で計算ができるようになる。
やったネ!

ホントはDockerコンテナとか使うともっといいらしいのだけれど、こういうのはちょっとずつね。

今回の動作環境

第7世代Intel CPUにLinux Mint 18.1

RとRStudioServerのインストール

ここに書いてある通りにするだけ。
できたらhttp://localhost:8787/にアクセスしてみよう

英語は嫌だという人のために必要部をコピペしておくと

64bit版のLinux MintやUbuntu,Debianなら

$ sudo apt-get install r-base
$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/rstudio-server-1.0.143-amd64.deb
$ sudo gdebi rstudio-server-1.0.143-amd64.deb

を実行するだけ簡単!

needsの導入

needsパッケージは複数パッケージの読み込みを容易にしつつ、存在しないパッケージを自動でインストールしてくれる優れもの。
詳しい紹介はuriさんの記事を参照。

導入手順としてgithubのページには

install.packages("needs")
# for the dev version:
# devtools::install_github("joshkatz/needs", ref = "development")
library(needs)

# answer "yes" when prompted, and you will never have
# to type library or install.packages again. hooray.

と書かれているが、ターミナルに$ Rと入力してRを立ち上げ、上記を実行しても失敗する。
エラーメッセージのコピーを忘れてしまって申し訳ないが、書き込み制限のある設定ファイルをいじるのが原因のようなので、$sudo RとしてRをスーパーユーザーで立ち上げてやればよい。

tidyverseの導入

みんな大好きtidyverseだが、いかんせん多数のパッケージの集合体であるために、依存関係が複雑なようだ。
R内でのパッケージの依存関係はもちろんのこと、OS側のソフトの依存関係にも注意が必要。
今回の環境では以下の順でコードを実行すると、うまくtidyverseを導入できた。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential gfortran g++ libcurl4-openssl-dev libxml2-dev
$ R
> install.packages("readxl")
> install.packages("tidyverse")

上述のneedsを早速使って"tidyverse"をインストールしたいところだが、install.packagesのほうが、インストール過程の詳細なメッセージが見られるので、今回は後者を推す。

うまくいかなかった場合はメッセージを確認しよう。

RStudioServerをインストールした人は、Rコード部分はRStudioServer上でやってもいい。

/bin/bash: g++: command not found

のようなメッセージが出てきた場合は、システム側に不足なソフトウェアがある(上述の場合はg++)
大体のtidyverseインストール周りのトラブルはこのエラーに起因している。
一通りシステムに必要なソフトをインストールしたら、もう一度、tidyverseをインストールしてみよう。

Error in library.dynam(lib, package, package.lib) : 
  shared object ‘readxl.so’ not found

というようなメッセージがあれば、個別にRのパッケージをインストールしてみるといい(上述の場合はreadxl)。

これで、だいたいRを快適に利用できるようになったはずだ。

その他のパッケージの導入

このあたりはお好みで。

needs(data.table, pipeR)

data.tableは、data.frameの拡張するもの。
他に、表形式ファイルをbase::read.csvなどよりも高速に読み込めるfreadや、base::write.csvなどよりも高速に書き込めるfwriteなどの関数が用意されている。

pipeRはRでパイプラインを可能にするパッケージ。
magrittrとライバル関係(?)にあたるが、パフォーマンスなどの観点でpipeRの方が優れているらしい。

1
3
0

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
  3. You can use dark theme
What you can do with signing up
1
3