0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL(Ubuntu 20.04.3 LTS) に、Rをインストールして、グラフ画像が出力できるまで

Last updated at Posted at 2021-11-03

環境

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とかも必要、、、?

出力画像

image.png

最後に

クライアントサイドでグラフAPIを使う代わりに、Restとかでサーバー実行してグラフの画像返すとかでも良いんじゃないかと思って調査してみました。

参考

https://cran.ism.ac.jp/bin/linux/ubuntu/
https://data-viz-lab.com/ggplot2

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?