統計プログラミング言語”R”は統計分析やデータのビジュアライズ、可視化など、データサイエンスに活用されるプログラミング言語です。Rではコマンドインターフェイスが実装されていますが、コマンドインターフェイスよりもGUIインターフェイスのソフトウェアを使用したほうが良い理由について説明します。
これ以上やると鬱になりそうなのでちょっとやめます。
詳しくは以下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)
うまくいかないんだろうな、と思いつつやってみましたが、やはりうまくいきませんでしたぁ…。どうしてうまくいかなかったんでしょうかねぇ…(大物)
8時間くらいこんなことをしていたためか、かなり情緒不安定ですね。
結論
R言語をやるなら、RStudioのGUIソフトウェアを使おう!!!