見出し画像

R | ggplot | geom_histogram | ヒストグラフを描きたい

*ハイライト*
・geom_histogramでヒストグラムが描ける
・ヒストグラムでは該当する範囲の個数を描画できる
・geom_histogram内のbinwidthで幅を変えることが出来る

install.packages("tidyverse")
library(ggplot2)

df <- data.frame(
 subject = c("x1""x2""x3""x4""x5","x6""x7""x8""x9""x10"),
 weight = c(45535672655067527865),
 height = c(160170162175165160167167172172),
 sex = c("female""male""male""male""female""female""male""female""male""female"))
head(df, 2)

g <- ggplot(df, aes(x = height)) + 
 geom_histogram(binwidth = 3) 
plot(g)

コードの説明

#パッケージのインストール

最初にパッケージをRにインストールしましょう。gglpot2tidyverseというパッケージに内包されているので,tidyverseをインストールし,ggplot2をライブラリーします。

install.packages("tidyverse"library(ggplot2)

#データフレームの作成

ggplotで棒グラフを作成するために被験者6人の体重を表しているデータフレームを作成します。subjectは「被験者」を,weightは「体重」を,heightは「身長」を,sexは「性別」を表しています。

df <- data.frame(
 subject = c("x1""x2""x3""x4""x5","x6""x7""x8""x9""x10"),
 weight = c(45535672655067527865),
 height = c(160170162175165160167167172172),
 sex = c("female""male""male""male""female""female""male""female""male""female"))
head(df, 2)

  subject  weight  height   sex
1           x1             45          160   female
2           x2             53          170      male

#ヒストグラフの描画

ggplotで身長をX軸に,範囲に従った個数をY軸にマッピングし,ヒストグラムを作成します。まずggplotのなかに使用するデータフレーム,データセットの中の変数をX軸やY軸に割り当てます。今回は範囲に従って身長の個数を表示させたいので,geom_histgramで描画します。ヒストグラムを構成する一つひとつのビンに幅を持たせるためにgeom_histogramの中身をbinwidth = 3にしました(1)。

g <- ggplot(df, aes(x = height)) + 
 geom_histogram(binwidth = 3) 
plot(g)

■Rグラフィックスクックブック第2 ―ggplot2によるグラフ作成のレシピ集/Winston Chang (), 石井弓美子 (翻訳), 河内崇 (翻訳), 瀬戸山雅人 (翻訳)

改訂2 RユーザのためのRStudio[実践]入門〜tidyverseによるモダンな分析フローの世界/松村優哉 (), 湯谷啓明 (), 紀ノ定保礼 (), 前田和寛 ()

■Rが生産性を高める〜データ分析ワークフロー効率化の実践/igjit (), atusy (), hanaori ()

この記事が気に入ったらサポートをしてみませんか?