R

Rはコマンドではなく絶対にGUIソフトウェアを使うべき理由

https://yuis.xsrv.jp/data/05nssmDsCmarPg5ImpzMs53bBNsvGiei.png

これ以上やると鬱になりそうなのでちょっとやめます。

詳しくは以下stackoverflowに投稿した僕のを見てください。

Run R script from Bash with plotting graph – Stack Overflow

Rでグラフを出力することを考慮したBashでの実行がしたい、ということだったのですが、上記の通り、一通りの思いついた方法はやってみて全部だめでしたと。

そして有益そうな回答を上記にていただきまして、そちらの参考記事を読んでやってみたのですが、まぁだめでしたと。

Interactive R scripts :: Jon Gjengset

かんたんに上記でやったことと、どこでつまずいたのかということを書いておきます。

上記記事に書いてあることを説明無しでやっていきます。

/usr/local/bin/Rintファイルを作って以下を入れます。

#!/bin/sh
f=$1; shift; env "R_PROFILE_USER=$f" "ARGS=$@" R --no-save -q

実行可能にします

sudo chmod 755 /usr/local/bin/Rint

グラフを出力するRスクリプトを書いたファイル e.g. rint-dev.R を作ります。先頭に#!/usr/local/bin/Rintを追加しておきます。

#!/usr/local/bin/Rint

# Define the cars vector with 5 values
cars <- c(1, 3, 6, 4, 9)

# Graph the cars vector with all defaults
plot(cars)

./rint-dev.Rで実行します。ここまでが上記記事で説明されていること。

でこれでグラフが出力されれば万事解決、と思いきや、です。

上記記事の一番下にも書いてありますが、通常読み込まれるライブラリを手動で読み込んでやる必要があるかもしれない、と言っています。

じゃあ通常読み込まれるコモンなライブラリを一通り読み込んでやればいいんだな、と。

Rでインタラクティブシェルを実行してから以下でライブラリのパスの一覧を取得。

.libPaths()

僕の場合は4つありました。それを利用して以下のようにしてやり、テキストエディタでいじって…

ls "/home/yuis/R/x86_64-pc-linux-gnu-library/3.4" | awk 9
ls "/usr/local/lib/R/site-library" | awk 9
ls "/usr/lib/R/site-library" | awk 9
ls "/usr/lib/R/library" | awk 9

以下のように整形します。

library(codetools)
library(spatial)
library(nnet)
library(class)
library(survival)
library(rpart)
library(mgcv)
library(Matrix)
...
library(grid)
library(tcltk)
library(stats)
library(utils)

じゃあ改めてこれを追記して実行してやりましょう。

#!/usr/local/bin/Rint

library(codetools)
library(spatial)
library(nnet)
library(class)
library(survival)
library(rpart)
library(mgcv)
library(Matrix)
...
library(grid)
library(tcltk)
library(stats)
library(utils)

# Define the cars vector with 5 values
cars <- c(1, 3, 6, 4, 9)

# Graph the cars vector with all defaults
plot(cars)

うまくいかないんだろうな、と思いつつやってみましたが、やはりうまくいきませんでしたぁ…。どうしてうまくいかなかったんでしょうかねぇ…(大物)

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_3057ba6f-9509-42a2-8708-54557121bc40.gif

8時間くらいこんなことをしていたためか、かなり情緒不安定ですね。

結論

https://yuis.xsrv.jp/data/MjQuC3Aeoxgi4YZvwYxCRCXfuwXbGI1H.png

R言語をやるなら、RStudioのGUIソフトウェアを使おう!!!