【R講座】作図の基本

R講座

研究室に配属されたばかりの新入生や、これからRで統計分析を始めたいと思っている方へ向けて、【R講座】では、RとRStudioの基本的な使い方から統計手法の選び方、基本的なデータ分析方法を解説しています。特にRが初めての方でも安心して学べるように、RStudioのクリック操作も紹介していきます。実際のコード例を交えながら進めるので、これからの研究やデータ分析に、役立てていただけたら嬉しいです。

みなさん、こんにちは!

前回のR講座では、データの入力と読み込み方法について解説しました。

今回は、Rで作図する際の基本と作成した図の保存方法について紹介していきます。

今回の内容
  • 作図の方法
  • 図の保存方法

基本関数を使った作図

Rに標準搭載されている関数で作図する流れを説明します。

基本関数を使って作図
  • STEP1
    作図デバイスを開く

    Rで作図を行うには、適切なデバイスを開き、作図関数を実行し、最終的にデバイスを閉じる流れになります。作図関数で保存先のパスを指定します。

  • STEP2
    高水準作図関数で基本となるプロットを作成

    高水準関数は、新しいグラフを作成する際に使用され、軸やタイトルなどを含む全体の構造を自動的に描画します。

  • STEP3
    低水準作図関数で要素を追加(点、線、凡例など)

    低水準作図関数は、既存のグラフに追加するために使われます。

  • STEP4
    作図デバイスを閉じる

    作図終了後、dev.off()関数で作図デバイスを閉じます。作図デバイスを開いたときに指定したパスへ図が保存されます。

コードのイメージ

# 作図デバイスを開く
作図デバイス関数("パス.拡張子")

# 高水準作図関数で作図
高水準作図関数(引数1, 引数2, ...)

# 低水準作図関数で要素を追加
低水準作図関数(引数1, 引数2, ...)

# 作図デバイスを閉じる(作図デバイスが保存される)
dev.off()

作図デバイス

作図デバイスとは、作図結果を出力するためのウィンドウやファイルのことです。

Rがサポートする代表的な作図デバイスには以下のようなものがあります。詳細は help("Devices") で確認できます。

主な作図デバイス
コマンドデバイスの種類
x11()UNIX のデフォルトドライバ
windows()Windows のデフォルトドライバ
postscript()ポストスクリプト
pdf()Adobe PDF
pictex()LaTeX ファイル
win.metafile()メタファイル
xfig()XFIG
win.print()通常のプリント出力
bitmap()ビットマップ
bmp()BMP形式
png()PNG形式
jpeg()JPEG形式

高水準作図関数(新しいグラフを作成)

高水準関数は、新しいグラフを作成する際に使用され、軸やタイトルなどを含む全体の構造を自動的に描画します。

高水準作図関数
関数説明
plot()散布図、折れ線グラフ
barplot()棒グラフ
hist()ヒストグラム
boxplot()箱ひげ図
pie()円グラフ
curve()関数のグラフ
dotchart()ドットチャート
matplot()複数データの折れ線グラフ
symbols()多変量データの図示
pairs()散布図行列
coplot()条件付き散布図
image()ヒートマップ
persp()3Dプロット
contour()等高線プロット
例:散布図の作成
# xのデータとyのデータを入力
x <- 1:10
y <- x^2

# 高水準作図関数で作図
plot(x, y, type = "b", col = "blue", pch = 16, main = "散布図")

右下ペインの「Plots」タブに散布図が表示されます。

低水準作図関数(既存のプロットに要素を追加)

低水準作図関数は、既存のグラフに追加するために使われます。

低水準作図関数の種類
関数説明
points()追加の点を描画
lines()折れ線を追加
text()文字を追加
abline()直線を追加
legend()凡例を追加
polygon()多角形を追加
axis()座標軸の追加
box()枠の追加
frame() / plot.new()図の消去
例:既存のプロットに要素を追加
# xのデータとyのデータを入力
x <- 1:10
y <- x^2

# 高水準作図関数で作図 (type = "n"で枠線だけ作図)
plot(x, y, type = "n", main = "散布図")

# 低水準作図関数で作図 (点・線・文字を追加)
points(x, y, col = "red", pch = 16)  # 赤い点を追加
lines(x, y, col = "blue", lty = 2)  # 青い破線を追加
text(5, 25, "中央の点", pos = 3)  # 文字を追加

低水準作図関数の内容がコードを実行する毎に反映されていきます。

ggplot2を使った作図

ggplot2 は、より柔軟で見た目にこだわったグラフを作成できるRのパッケージです。コードの書き方に特徴があり、要素を追加するときは、 + を使います。

基本関数を使って作図
  • STEP1
    ggplot() にデータを渡す

    x軸やy軸などの基本データを設定します。

  • STEP2
    geom_ 関数でプロットの種類を指定

    作図したいグラフの種類を設定します。

  • STEP3
    カスタマイズ(軸、色、凡例)

    図の細かい設定を行います。

  • STEP4
    保存

    作図終了後、ggsave()関数で図を保存します。

コードのイメージ

# ggplot2パッケージを読み込む
install.packages("ggplot2") # 初回のみ
library(ggplot2)

# データフレームを作成
df <- data.frame(x = 1:10, y = (1:10)^2)
# x列: 1から10までの整数
# y列: xの2乗(1, 4, 9, ..., 100)

# オブジェクトpにggplotを使ってグラフを作成
p <- ggplot(df, aes(x, y)) +  # データを指定、xとyのマッピングを設定
geom_point(color = "red", size = 3) +  # 赤色の点(サイズ3)を描画
geom_line(color = "blue", linetype = "dashed") +  # 青色の破線を描画
labs(title = "ggplot2による散布図", x = "X軸", y = "Y軸")  # タイトルとラベルを設定

# 保存
ggsave("ggplot_scatter.png", plot = p, width = 6, height = 4)

geom_ 関数(データの種類に応じた描画)

geom_ 関数はデータを視覚化するために使われ、データの種類に応じて適切な描画方法を選べます。

高水準作図関数のようなイメージで図の大枠を作成していきます。

geom_関数の種類
関数説明
geom_point()散布図(点)
geom_line()折れ線グラフ
geom_bar()棒グラフ(デフォルトは積み上げ)
geom_col()棒グラフ(積み上げなし)
geom_histogram()ヒストグラム
geom_boxplot()箱ひげ図
geom_violin()バイオリンプロット
geom_density()密度プロット
geom_area()面積グラフ
geom_text()文字を追加
geom_label()ラベル付きテキスト
geom_smooth()平滑線(回帰曲線など)
geom_ribbon()リボン(範囲を塗る)
geom_segment()線分を描く
geom_errorbar()誤差棒
geom_tile()ヒートマップ(タイル状)

作図をカスタマイズする関数

theme や scale_ などの関数を使ってデフォルトのスタイルを変更できます。

低水準作図関数のようなイメージで、図を加飾していきます。

作図カスタマイズ関数の種類
関数説明
labs()タイトルや軸ラベルを設定
theme()グラフのデザイン変更
scale_x_continuous()X軸の範囲やラベル変更
scale_y_continuous()Y軸の範囲やラベル変更
scale_color_manual()色の手動設定
scale_fill_gradient()カラースケールを変更
facet_wrap()小さな複数のグラフを作成
facet_grid()グリッド状の複数グラフを作成
coord_flip()X軸とY軸を入れ替え
coord_polar()極座標(円グラフなど)
guides()凡例の調整

作図の例

例:散布図
# ggplot2パッケージを読み込む
library(ggplot2)

# データフレームを作成
df <- data.frame(x = 1:10, y = (1:10)^2)
# x列: 1から10までの整数
# y列: xの2乗(1, 4, 9, ..., 100)

# ggplotを使ってグラフを作成
ggplot(df, aes(x, y)) +  # データフレームdfを指定し、xとyのマッピングを設定
  geom_point(color = "red", size = 3) +  # 赤色の点(サイズ3)を描画
  geom_line(color = "blue", linetype = "dashed") +  # 青色の破線を描画
  labs(title = "ggplot2による散布図", x = "X軸", y = "Y軸")  # グラフのタイトルと軸ラベルを設定

作図が完了すると、このように表示されます。

ggplotは、関数を + で足しながら組み合わせることで、自由度の高いグラフ作成が可能になります!

図の保存

最後に、図をコマンドで保存する方法とGUIで保存する方法の2つを紹介します。

コマンドで保存

基本関数で作図した時の保存

作図デバイスを開いたときに保存先のパスを指定し、作図終了後にdev.off()を実行することでで保存が完了します。(上書きがされなくなる)

dev.off()で保存
# 作図デバイスを開く(関数名("ファイルパス.拡張子"))
pdf("scatterplot.pdf")

# 高水準作図関数で作図
plot(1:10, (1:10)^2, col = "blue", pch = 16)

# 低水準作図関数で要素を追加
points(1,20, pch = "+", col = "red")

# 作図デバイスを閉じる(作図デバイスが保存される)
dev.off()
ggplotで作図した時の保存

ggplot2では、ggsave() を使用して図を保存できます。

ggsave()で保存
# パッケージ起動
library(ggplot2)

# データ入力
df <- data.frame(x = 1:10, y = (1:10)^2)

# 作図
p <- ggplot(df, aes(x, y)) +
  geom_point(color = "red", size = 3) +
  geom_line(color = "blue", linetype = "dashed") +
  labs(title = "ggplot2による散布図", x = "X軸", y = "Y軸")

# 保存
ggsave("ggplot_scatter.png", plot = p, width = 6, height = 4)
ggsave()の主な引数
引数説明
filename保存するファイル名(拡張子を含む)
plot保存するggplotオブジェクト(省略可能)
width幅(インチ単位)
height高さ(インチ単位)
dpi解像度(デフォルトは 300)

GUIで保存

GUIを利用すると、即座にグラフのプレビューを確認しながら適切なファイル形式やサイズを選択できます。

GUIで保存する手順
  1. プロットウィンドウ右上の「Export」ボタンをクリック
  2. 「Save as Image」または「Save as PDF」を選択
  3. ファイル名、保存場所、サイズ、フォーマット(PNG, PDF, JPEG など)を設定
  4. 「Save」ボタンを押して保存
ウィンドウの見方
  • 「Save as Image」の場合
  • 「Save as PDF」の場合
  • Image format
    保存する画像の形式を選択できます(PNG, JPEG, BMP など)。
  • Directory
    画像を保存するフォルダを選択します(デフォルトは ~/R)。
  • File name
    保存するファイル名を指定します。
  • Width / Height
    画像の幅と高さをピクセル単位で指定できます。
  • Maintain aspect ratio
    チェックすると、元の縦横比を維持したままサイズ変更できます。
  • View plot after saving
    チェックすると、保存後に画像を自動的に表示します。
  • Use device pixel ratio
    デバイスのピクセル比を考慮して保存するオプション。
  • PDF Size
    保存する PDF のサイズをインチ単位で指定できます。
  • Orientation
    用紙の向きをPortrait(縦)またはLandscape(横)から選べます。
  • Use cairo_pdf device
    cairo_pdfデバイスを使うオプション(通常は推奨)。
  • Directory
    保存するフォルダを選択します。
  • File name
    保存するファイル名を指定します。
  • Preview
    PDFを保存する前にプレビューを表示できます。

GUIで保存する方法は楽で良いのですが、データ分析の再現性を考慮すると、コマンド入力の方が個人的におすすめです。

まとめ

まとめ
  • 作図の方法
    • デバイスを開く → 高水準関数 → 低水準関数 → 保存
    • geom_関数で大枠 → theme や scale_ で詳細設定 → 保存
  • 図の保存方法
    • dev.off()で作図終了(保存)
    • GUIで保存(RStudio)
    • ggsave()で保存

今回は、データの入力について説明してきました。

Rの作図機能を活用し、解析に適したグラフを作成しましょう!

次回は、統計解析について紹介します。

タイトルとURLをコピーしました