環境
Windows10 + WSL(Ubuntu 20.04.3 LTS)
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
・・・
はじめに
以下のものを作ることが目的
①R(4.1)をWSLに対してインストールして
②Rの実行ファイルを作成
③Rscriptでファイル実行して、グラフ画像を出力
手順
R(4.1)をインストール
sudo apt update
# リポジトリの設定
sudo wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
# 入れないとRのパッケージのインストールでコンパイルエラーが出る
sudo apt install build-essential
# Rのインストール
sudo apt install --no-install-recommends r-base
※2021/11/03 現在では、4.1.1がインストールされる
Rの設定等
# Rのコマンドラインを起動
sudo R
# ダウンロード先のミラーサイト設定(53のJapanを選択)
chooseCRANmirror()
# ggplot2のパッケージをインストール
install.packages("ggplot2")
Rの実行ファイルを作成
vi test.R
以下のようなファイルを作成
test.R
# インポート
library(ggplot2)
# グラフのプロットデータ作成(irisはプリセットされているデータフレーム)
p <- ggplot(data = iris,
mapping = aes(x=Sepal.Width)) +
geom_density(fill = "gold")
# 画像出力(サイズは dpi*width × dpi*height のピクセルサイズとなる)
ggsave(filename = "sample.png",
plot = p,
device = "png",
width = 6.4, height = 4.8,
dpi = 100)
実行
Rscript test.R
※ただのubuntuのときは、chmodとかも必要、、、?
出力画像
最後に
クライアントサイドでグラフAPIを使う代わりに、Restとかでサーバー実行してグラフの画像返すとかでも良いんじゃないかと思って調査してみました。
参考
https://cran.ism.ac.jp/bin/linux/ubuntu/
https://data-viz-lab.com/ggplot2