Rでヒストグラムを作成する
データセットを調査する際に、データセット内の特定の数値変数の分布を簡単に理解したいと思うことがよくあります。 1つの数値変数の分布を視覚化する一般的な方法は、ヒストグラムを使用することです。 ヒストグラムでは、数値変数の値を「ビン」に分割し、各ビンに入るオブザベーションの数を数えます。
このレシピでは、Rを使ってヒストグラムを作成する方法を紹介します。具体的には、Rのhist()関数とggplot2を使用します。
この例では、ウェブサイトのセッション時間の分布を視覚化します。
- Data Wrangling
- Data Exploration & Preparation
- Data Visualization
以下に示したすべてのステップの実装は、このモードレポートの例で見ることができます。
データの整理
分析に必要なデータを整理するために SQL を使用します。 この例では、Mode’s Public Data Warehouse で利用可能な sessions
データセットを使用します。 エディタ内のスキーマ ブラウザを使用して、データ ソースが Mode Public Warehouse データ ソースに設定されていることを確認し、以下のクエリを実行してデータを操作します:
`select *from modeanalytics.sessions`
SQL クエリの実行が完了したら、R ノートブック内で簡単に識別できるように、SQL クエリの名前を Sessions
に変更します。
データ探索 & 準備
データの整理が完了したので、R ノートブックに移動してデータを可視化する準備ができました。 Modeは、SQLクエリの結果を自動的にパイプして、変数datasets
に割り当てられたRデータフレームに入れます。
`sessions <- datasets]`
データの視覚化
ヒストグラムを作成するには、R の hist()
session_duration_seconds
hist()
関数に列名を渡して、視覚化の出力を興味のある変数に限定していきます。
`# Using hist() function in base graphics to make a histogramhistinfo=hist(sessions$session_duration_seconds, main="Histogram with Default Parameters")`
hist()
関数に追加のパラメーターを与えることで、ヒストグラムの外観をさらにカスタマイズすることができます。
`hist(sessions$session_duration_seconds, main="Adding grid lines and ticks", xlab="Session Duration (in seconds)", ylab= "Count", xlim=c(0,55), ylim=c(0, 49000), col="lightgrey")axis(4, labels=FALSE, col = "lightgrey", lty=2, tck=1)`
また、ggplot2のネイティブなヒストグラム作成機能を使用して、カーネル密度推定などの追加機能を備えたRのヒストグラムを作成し、スタイルを設定することもできます。
`p <- ggplot(sessions, aes(x=session_duration_seconds)) + geom_histogram(aes(y=..density..), # Histogram with density instead of count on y-axis binwidth=2, colour="black", fill="white") + geom_density(alpha=.3, fill="#32CD32")p + labs(x = "Session Duration (in seconds)", y = "Density", title = "Density Curve using ggplot2") + coord_fixed(ratio = 100)ggsave("ggtest.png", p, width = 5, height = 8, dpi = 1200)`
。