RStudioで箱ひげ図やヒストグラム・散布図を綺麗に出力する方法

この記事は、次のような悩みを持つ方向けです。

Rでグラフを描きたいけど、どうすればいいかわからない…
Rで描いたグラフの色を変えたり、文字を入力したいけど方法がわからない…

この記事では、Rをより使いやすくするソフトウェア「RStudio」を使って、統計解析でよく扱う基本的なグラフを描いたり、簡単なカスタマイズをできるようになることを目標に解説します。

「RとRstudioとEZRは何が違うの?」
RとEZRの違いは何?臨床研究のデータ解析におけるRのススメ

「Rstudioって何?どうすれば使えるようになるの?」
R studioのインストール・ダウンロードから初期設定まで(Mac対応)

R studioの基本的な使い方を教えて!
R studioの基本的な使い方を初心者向けに徹底解説!

>>もう統計で悩むのは終わりにしませんか? 

↑期間・数量限定で無料プレゼント中!

目次

Rによるグラフ描画の基礎知識

Rでグラフを綺麗に作成するためには、

  • 基本的なグラフの種類とその描き方
  • タイトルや軸のカスタマイズ方法
  • 色やグラフの形を変更する方法、
  • グラフにテキストを挿入する方法

などの要素を押さえておくことが重要です。

基本的なグラフの種類とその描き方

Rには特別なパッケージを使わなくても、様々なグラフを作成する機能が備わっています。

例えば、ヒストグラム、散布図、折れ線グラフ、箱ひげ図などがあり、それぞれデータを視覚化する際に役立ちます。

グラフの種類 関数 用途
ヒストグラム hist() データの分布を視覚化
散布図 plot() 変数間の関係を表示
箱ひげ図 boxplot() (特に複数の)データのばらつきを視覚化
折れ線グラフ plot() 時間経過による変化などを表示

シンプルなグラフを作成するためには、上記のような基本的な描画関数だけ押さえておけば十分です。

これらの描画関数を使いこなすことで、データの傾向やパターンを素早く把握することができます。

基本的なグラフを描いてみよう

Rに初めから付属している有名なサンプルデータであるirisAirpassengersを使って、それぞれのグラフの描画を試してみましょう。

Rに含まれるサンプルデータセットのirisは、植物学で非常に有名なデータセットです。

このデータセットは、アイリス(iris)という花の3つの異なる種(setosa、versicolor、virginica)の50個体ずつ、合計150個体のデータを含んでいます。

irisデータセットには、以下の5つの変数があります:

  1. Sepal.Length(がく片の長さ):アイリスのがく片の長さをセンチメートルで測定したもの。
  2. Sepal.Width(がく片の幅):がく片の幅をセンチメートルで測定したもの。
  3. Petal.Length(花びらの長さ):花びらの長さをセンチメートルで測定したもの。
  4. Petal.Width(花びらの幅):花びらの幅をセンチメートルで測定したもの。
  5. Species(種類):アイリスの種類(setosa、versicolor、virginicaのいずれか)。

このデータセットは、統計学やデータ分析の初学者にとって、データの可視化や機械学習モデルのトレーニングなど、さまざまな分析技術を学ぶための基本的な例として広く使用されています。

同様に、UKLungDeathsデータセットは時間的なトレンドを分析するための代表的なサンプルデータです。

このUKLungDeathsデータセットは、1974年から1979年までのイギリスにおける肺疾患による死亡数を時間経過とともに記録したものです。

ヒストグラム

###irisデータをRから取り出す###
data(iris)

###irisデータのがく片の幅(2列目のデータ)のヒストグラムを描く###
hist(iris[,2])

###irisデータの列名を確認
colnames(iris)

###列名で指定して、全く同じヒストグラムを描く###
hist(iris[,"Sepal.Width"])

次のようにヒストグラムが出力されれば成功です(列番号で指定しても、列ラベル名で指定しても同じヒストグラムになります)。 ヒストグラム(irisデータ)

散布図

###横並びに2枚の散布図を描くための準備###
par(mfcol=c(1,2))

###irisデータのがく片の長さと幅の関係性を散布図で確認する###
plot(iris[,1:2])

###irisデータの花びらの長さと幅の関係性を散布図で確認する###
plot(iris[,3:4])

###必要に応じて初期設定に戻しておく###
par(mfcol=c(1,1))

次のように2枚の散布図が出力されれば成功です。どちらの組み合わせの方が関係性がはっきりしていそうでしょうか?散布図(irisデータ)

箱ひげ図

###irisデータの1列目から4列目に格納されているがく片や花びらの長さ・幅を箱ひげ図で描画###
boxplot(iris[,1:4])

###列名で指定して同じ箱ひげ図を描く###
labels = c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width")
boxplot(iris[,labels])

次のように箱ひげ図が出力されれば成功です。

箱ひげ図(irisデータ)

折れ線グラフ

###データをRから取り出す###
data(UKLungDeaths)

###データのヘルプ画面を確認して、どのようなデータが含まれているか確認する###
help(UKLungDeaths)

###肺疾患による死亡数の推移を折れ線グラフで描画する###
plot(ldeaths, type="l")

次のように折れ線グラフが出力されれば成功です。こうやって折れ線グラフにしてみると、時系列的なトレンドがわかりやすくなりますね。

(注) ldeathsというデータは時系列データとして保存されているのでtype=”l”とオプションを指定しなくても、自動的に折れ線グラフが出力されます。

一般的なベクトル形式のデータや行列形式のデータの場合には、typeオプションを指定しないと散布図の形式になってしまうので、注意が必要です。

また、後から見返した時に何を描こうとしていたかわかるように、あえて明示的に記載しておく方がベターです。

箱ひげ図(irisデータ)

Rで描画したグラフのカスタマイズ

タイトルの追加と軸のラベル変更

Rのグラフはカスタマイズが可能で、タイトルの追加や軸のラベル変更などが簡単にできます。

例えば、xlabylabのオプションを使用して軸のラベルを設定したり、mainオプションでグラフのタイトルを追加することができます。

グラフの内容に合ったタイトルや軸ラベルを指定することで、グラフはより情報を伝えやすく、見やすいものになります。

plot(iris[,c("Petal.Length", "Petal.Width")],
     xlab="Length of Petal", ylab="Width of Petal",
     main="Scatter Plot of Petal's length and width")

散布図(irisデータ)のタイトルや軸ラベルを修正

色やグラフの形を変更する方法

Rでは、グラフの色や形を変更して、より魅力的で理解しやすい図を作成することができます。

例えば、colパラメータを使ってプロットの色を変更したり、pch パラメータでプロットの形を変えることが可能です。

plot(iris[,c("Petal.Length", "Petal.Width")],
     xlab="Length of Petal", ylab="Width of Petal",
     main="Scatter Plot of Petal's length and width",
     col=iris[,"Species"],pch=3)

散布図(irisデータ)の色やマーカーを修正

グラフにテキストやマークを加える方法

グラフの中にテキストやマークによる説明をつけることで、グラフの読み手がグラフの意味を容易に理解できるようになります。

例えばtext関数で特定の座標にテキストを追加したり、arrows関数で矢印によるマーキングをしたりすることが可能です。

###先に散布図をplotする###
plot(iris[,c("Petal.Length", "Petal.Width")],
     xlab="Length of Petal", ylab="Width of Petal",
     main="Scatter Plot of Petal's length and width",
     col=iris[,"Species"],pch=3)

###plotに合わせて、(x,y)座標の(3,2)地点から(4,1.5)地点まで矢印を引く###
arrows(3,2,4,1.5)

###矢印の上にテキストを赤字で挿入する。ここではirisの種類を明記###
text(3,2.1,"versicolor",col="red")

散布図(irisデータ)に矢印やテキストを挿入

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

まとめ

グラフ描画は、データの特性や関係性を視覚的に理解するのに非常に有効です。

集積したデータを分析する前にデータの関係性を確認することで、適切なデータ分析が可能になります。また、研究仮説を検討する上でも非常に重要なステップです。

本記事では、Rstudioによる基本的なグラフの種類とその描き方から、グラフのカスタマイズ方法、色や形の変更方法、テキストやマークの追加方法について解説しました。

グラフの描画関数にはたくさんのオプションがあり、一度に全てを覚えるのはたいへんです。まずは本記事でご紹介した基本的なカスタマイズ方法から習得していきましょう。

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

コメント

コメントする

目次