広告 散布図

Rによる散布図の描き方(グループ分け)

2023年11月20日

散布図は、2つの変数の関係を可視化するためによく使用されるグラフです。
R言語では、ggplot2パッケージを用いて散布図を作成することができます。
今回はさまざまな条件で色分けした散布図に関して、例題を取り上げます。
例題では、コードと解説を交えて、具体的な手順を説明していきます。

例題

例題

自動車の燃費(MPG:マイル・パーガロン)と車重(Weight)の関係を示す散布図を作成し、
データポイントは自動車のシリンダー数(4, 6, 8)と駆動方式(前輪駆動、後輪駆動)によってグループ分けしなさい。

データの準備

まず、データフレームを作成します。データフレームには4つの列が含まれます:MPG(燃費)、Weight(車重)、Cylinders(シリンダー数)、Drive(駆動方式)。

# ggplot2 パッケージをロード
library(ggplot2)

# 乱数のシードを設定
set.seed(123)

# データフレームの作成
data <- data.frame(
MPG = rnorm(60, mean=30, sd=5),
Weight = rnorm(60, mean=3000, sd=500),
Cylinders = sample(c("4", "6", "8"), 60, replace=TRUE),
Drive = sample(c("FWD", "RWD"), 60, replace=TRUE)
)
  • set.seed(123):乱数生成のためのシード(開始点)を設定しています。シードを設定することで、乱数生成の結果が再現可能になります。123は任意の数値ですが、この値を変更すると生成される乱数も変わります。
  • data <- data.frame(...):データフレームを生成し、それを変数dataに割り当てています。データフレームは表形式のデータを保持するための構造で、列ごとに異なる種類のデータを格納できます。

  • MPG = rnorm(60, mean=30, sd=5)rnorm関数を用いて、平均が30、標準偏差が5の正規分布に従う60個の乱数を生成し、これをMPG(燃費)としています。

  • Weight = rnorm(60, mean=3000, sd=500):同様に、平均が3000、標準偏差が500の正規分布に従う60個の乱数を生成し、これをWeight(車重)としています。

  • Cylinders = sample(c("4", "6", "8"), 60, replace=TRUE)sample関数を用いて、要素が"4"、"6"、"8"のベクトルから60個の要素をランダムに選択し(置換ありで)、これをCylinders(シリンダー数)としています。

  • Drive = sample(c("FWD", "RWD"), 60, replace=TRUE):同じくsample関数を用いて、"FWD"(前輪駆動)と"RWD"(後輪駆動)からランダムに60個選択し、これをDrive(駆動方式)としています。

ここまでのスクリプトを実行すると次のようなdataフレームが出来上がります。その一部をお示しします。

散布図の作成

ggplot 関数を用いて散布図を作成します。色(color)はシリンダー数に、形(shape)は駆動方式に基づいてデータポイントを区別します。

# 散布図の作成

ggplot(data, aes(x=MPG,y=Weight, color=Cylinders, shape=Drive)) +
geom_point(size=4.0) + # sizeを4に設定
theme_minimal() +
labs(title="MPG vs Weight by Cylinders and Drive Type",
x="Miles Per Gallon (MPG)",
y="Weight (lbs)") +
theme(
axis.title.x = element_text(size=16), # X軸のラベルのフォントサイズを設定
axis.title.y = element_text(size=16), # Y軸のラベルのフォントサイズを設定
axis.text.x = element_text(size=12, family="Helvetica", face="bold"), # X軸の数値のフォント設定
axis.text.y = element_text(size=12, family="Helvetica", face="bold") # Y軸の数値のフォント設定
)
  • ggplot(data, aes(...))ggplot2を用いて基本的なグラフの枠組みを設定します。dataは使用するデータフレームを指定し、aesはエステティック(視覚的属性)を設定する関数です。ここではx=MPGy=Weightで、それぞれの軸に表示するデータを指定しています。また、color=Cylindersshape=Driveにより、点の色をシリンダー数で、点の形を駆動方式で区別するように設定しています。
  • geom_point(size=4.0):点をプロットする関数です。size=4.0は点の大きさを設定しており、デフォルトよりも大きな点を描画します。
  • theme_minimal():グラフの見た目をシンプルにするためのテーマを適用します。余計な要素を取り除き、データの視覚化に集中できるデザインにします。
  • labs(...):グラフのタイトルと軸ラベルを設定します。titleでグラフのタイトル、xyでそれぞれX軸とY軸のラベルを指定しています。
  • theme(...):グラフの細かいスタイル設定を行います。axis.title.xaxis.title.yでそれぞれX軸とY軸のラベルのフォントサイズを16に設定します。axis.text.xaxis.text.yでX軸とY軸の目盛りのラベルのフォントサイズ、フォントファミリー(Helvetica)、フォントスタイル(bold、太字)を設定します。

このスクリプトを実行すると、燃費(MPG)と車重(Weight)の関係を示す散布図が作成されます。グラフはシリンダー数によって色分けされ、駆動方式によって点の形が異なります。また、グラフのタイトル、軸ラベル、軸の数値のフォントがカスタマイズされています。

ここまでのスクリプトを実行すると、次のような散布図が出来上がります。

特殊なグラフ

2024/4/26

R言語でQQプロットを作成する方法

はじめに QQプロット(Quantile-Quantileプロット)は統計分析で非常に役立つツールです。これを使って、データセットが特定の理論分布に従っているかどうかを視覚的に評価することができます。R言語には、この種のプロットを簡単に作成できる強力なツールが用意されています。この記事では、R言語を使用してQQプロットを作成する基本的なステップを説明します。 必要なパッケージ QQプロットを描くためには、基本的にstatsパッケージが必要ですが、これはRの標準パッケージに含まれているため、特別なインストー ...

ReadMore

グラフのカスタマイズ

2024/4/17

Rでエラーバー付きのグラフを作成する方法

はじめに データの可視化において、エラーバーはデータの変動や不確実性を表現する重要な手段です。R言語を用いたグラフ作成においてエラーバーを追加する方法を学ぶことで、データの解釈をより深く行うことが可能になります。この記事では、基本的なエラーバーの追加方法から、カスタマイズする方法までを段階的に解説します。 エラーバーを含むグラフの重要性 エラーバーは、データ点のばらつきや測定の不確かさを表すのに役立ちます。科学研究や技術報告でよく見られるこの表現方法は、データの信頼性や有効性を視覚的に伝えるために不可欠で ...

ReadMore

グラフのカスタマイズ

2024/4/17

R言語でのグラフ作成:X軸とY軸のスケール比の設定方法

はじめに R言語はデータ分析と可視化に非常に強力なツールです。特にグラフ作成機能は多くのデータサイエンティストや研究者に利用されています。この記事では、R言語でグラフを作成する際にX軸とY軸のスケール比を設定する方法を詳しく解説します。スケール比を調整することで、データの比率や関係性をより正確に表現することが可能になります。 グラフの基本的な作成方法 まず、R言語で基本的なグラフを作成する方法から見ていきましょう。ここでは、plot() 関数を使用してシンプルな散布図を描きます。 # サンプルデータの生成 ...

ReadMore

特殊なグラフ

2024/4/18

R言語でバイオリンプロットを作成する方法:データの分布を視覚化

はじめに バイオリンプロットは箱ひげ図の概念を拡張したもので、データの分布密度も同時に表現できるグラフです。この記事では、R言語を用いてバイオリンプロットを作成する手順を、基本から応用まで丁寧に解説します。 バイオリンプロットとは? バイオリンプロットは、データの確率密度を視覚的に表現する方法の一つで、中央値や四分位数といった統計量だけでなく、データの分布形状も示すことができます。これにより、データの全体的な傾向をより詳細に把握することが可能になります。 Rでバイオリンプロットを作成する Rでは、ggpl ...

ReadMore

グラフのカスタマイズ

2024/4/18

R言語で箱ひげ図に平均値を追加する方法

はじめに 箱ひげ図はデータの分布、特に四分位数や極値を視覚的に表現する強力なツールですが、時には平均値を表示することでデータの理解をさらに深めることができます。この記事では、R言語を使用して箱ひげ図に平均値を追加する方法を解説します。 箱ひげ図とは? 箱ひげ図(Boxplot)は、データの中央値、四分位数、外れ値を表示し、データの分布を要約するのに役立ちます。しかし、平均値もまたデータの中心傾向を理解するのに重要な指標であり、これを箱ひげ図に追加することで、さらに多角的なデータ解析が可能になります。 Rで ...

ReadMore

特殊なグラフ

2024/4/26

R言語でQQプロットを作成する方法

はじめに QQプロット(Quantile-Quantileプロット)は統計分析で非常に役立つツールです。これを使って、データセットが特定の理論分布に従っているかどうかを視覚的に評価することができます。R言語には、この種のプロットを簡単に作成できる強力なツールが用意されています。この記事では、R言語を使用してQQプロットを作成する基本的なステップを説明します。 必要なパッケージ QQプロットを描くためには、基本的にstatsパッケージが必要ですが、これはRの標準パッケージに含まれているため、特別なインストー ...

ReadMore

グラフのカスタマイズ

2024/4/17

Rでエラーバー付きのグラフを作成する方法

はじめに データの可視化において、エラーバーはデータの変動や不確実性を表現する重要な手段です。R言語を用いたグラフ作成においてエラーバーを追加する方法を学ぶことで、データの解釈をより深く行うことが可能になります。この記事では、基本的なエラーバーの追加方法から、カスタマイズする方法までを段階的に解説します。 エラーバーを含むグラフの重要性 エラーバーは、データ点のばらつきや測定の不確かさを表すのに役立ちます。科学研究や技術報告でよく見られるこの表現方法は、データの信頼性や有効性を視覚的に伝えるために不可欠で ...

ReadMore

グラフのカスタマイズ

2024/4/17

R言語でのグラフ作成:X軸とY軸のスケール比の設定方法

はじめに R言語はデータ分析と可視化に非常に強力なツールです。特にグラフ作成機能は多くのデータサイエンティストや研究者に利用されています。この記事では、R言語でグラフを作成する際にX軸とY軸のスケール比を設定する方法を詳しく解説します。スケール比を調整することで、データの比率や関係性をより正確に表現することが可能になります。 グラフの基本的な作成方法 まず、R言語で基本的なグラフを作成する方法から見ていきましょう。ここでは、plot() 関数を使用してシンプルな散布図を描きます。 # サンプルデータの生成 ...

ReadMore

特殊なグラフ

2024/4/18

R言語でバイオリンプロットを作成する方法:データの分布を視覚化

はじめに バイオリンプロットは箱ひげ図の概念を拡張したもので、データの分布密度も同時に表現できるグラフです。この記事では、R言語を用いてバイオリンプロットを作成する手順を、基本から応用まで丁寧に解説します。 バイオリンプロットとは? バイオリンプロットは、データの確率密度を視覚的に表現する方法の一つで、中央値や四分位数といった統計量だけでなく、データの分布形状も示すことができます。これにより、データの全体的な傾向をより詳細に把握することが可能になります。 Rでバイオリンプロットを作成する Rでは、ggpl ...

ReadMore

グラフのカスタマイズ

2024/4/18

R言語で箱ひげ図に平均値を追加する方法

はじめに 箱ひげ図はデータの分布、特に四分位数や極値を視覚的に表現する強力なツールですが、時には平均値を表示することでデータの理解をさらに深めることができます。この記事では、R言語を使用して箱ひげ図に平均値を追加する方法を解説します。 箱ひげ図とは? 箱ひげ図(Boxplot)は、データの中央値、四分位数、外れ値を表示し、データの分布を要約するのに役立ちます。しかし、平均値もまたデータの中心傾向を理解するのに重要な指標であり、これを箱ひげ図に追加することで、さらに多角的なデータ解析が可能になります。 Rで ...

ReadMore

-散布図
-