次週以降は、Rで独自のヒストグラムを作成する方法の基本を取り上げます。基本的なRコマンド、ggplot2、ggvisの3つの選択肢を検討します。 これらの記事は、アクセス可能で理解しやすいリソースを必要とするRの初中級ユーザーを対象としています。 もっと詳しく知りたいですか?
What Is A Histogram?
ヒストグラムは、データセットの分布を視覚的に表現したものです。 そのため、ヒストグラムの形状は、その最も明白で有益な特性であり、比較的多くのデータがある場所と、ほとんどデータがない場所を簡単に見ることができます (Verzani 2004)。 言い換えれば、データ分布の真ん中はどこか、データはこの真ん中にどれだけ近いか、どこに外れ値があるかを知ることができます。 まさに、ヒストグラムはデータを知るための素晴らしい方法なのです!
しかし、ヒストグラムの具体的な形はどのようなものなのでしょうか。 簡単に言うと、ヒストグラムは、X軸、Y軸、そして高さの異なるさまざまな棒で構成されています。 Y軸は、X軸上の値がデータの中でどのくらいの頻度で出現するかを示し、バーは、X軸上の値の範囲や連続したカテゴリーをまとめます。
ヒストグラムのバーはしばしば「ビン」と呼ばれることに注意してください。このチュートリアルでもその名前を使用します。
How to Make a Histogram with Basic R
Step One – Show Me The Data
ヒストグラムはそもそもプロットするためにいくつかのデータを必要とするので、データセットをインポートするか、Rに組み込まれたデータセットを使用するとよいでしょう。 このチュートリアルでは、2つのデータセットを使用します。Rに組み込まれたデータセットAirPassengers
chol
というデータセットです。
chol = read.csv("https://s3.amazonaws.com/assets.datacamp.com/blog_assets/chol.txt", sep = " ")
ステップ2 – Hist()関数を使いこなす
与えられたデータ値のヒストグラムを計算するhist()
関数を使えば、簡単にヒストグラムを作ることができます。
hist(AirPassengers)
その結果、次のようなヒストグラムが得られます。
ただし、例えばデータフレームの特定の列だけを選択してヒストグラムを作成したい場合は、chol
hist()
$
という記号を組み合わせて、その後に列名を入力する必要があります。
hist(chol$AGE) #computes a histogram of the data values in the column AGE of the dataframe named "chol”
Step Three – Take The Hist()Function Up Up
前のセクションのヒストグラムは、少し退屈に見えませんか? デフォルトの視覚化は通常、ヒストグラムの理解にあまり貢献しません。 そのため、ヒストグラムをより良く、簡単に理解するためには、もう一歩踏み込む必要があります。 幸いなことに、これはそれほど難しいことではありません。 R では、hist()
関数を使用しながら、図の視覚化を最適化する簡単で迅速な方法がいくつかあります。
ヒストグラムを適応させるためには、次のように hist()
関数に引数を追加するだけでよいのです。
hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5)
このコードは、データセット AirPassengers
からデータ値のヒストグラムを計算し、タイトルとして「Histogram for Air Passengers」を与えます。 x軸を “Passengers “とラベル付けし、ビンに青い枠と緑の色を付け、x軸を100から700に制限し、y軸に表示される値を1回転させ、ビン幅を5に変更します。
この大きなコードの羅列に圧倒されましたか? 心配ありません。 それでは、各引数が何をするのかを確認するために、細かく分解してみましょう。
名前/色
main
hist()
関数の引数として追加することで、ヒストグラムのタイトルを変更します。
hist(AirPassengers, main="Histogram for Air Passengers") #Histogram of the AirPassengers dataset with title "Histogram for Air Passengers”
X軸のラベルを調整するには、xlab
を追加します。 同様に、Y軸のラベルを調整するには、ylab
を使用することもできます。
hist(AirPassengers, xlab="Passengers", ylab="Frequency of Passengers") #Histogram of the AirPassengers dataset with changed labels on the x-and y-axes
デフォルトのヒストグラムの色を変更したい場合は、引数border
col
を追加するだけです。
hist(AirPassengers, border="blue", col="green") #Histogram of the AirPassengers dataset with blue-border bins with green filling
Tip ""
の間に色と名前を入れるのを忘れないでください。
X軸とY軸
xlim
ylim
hist()
関数の引数として追加することで、軸のX値とY値の範囲を変更します。
hist(AirPassengers, xlim=c(100,700), ylim=c(0,30)) #Histogram of the AirPassengers dataset with the x-axis limited to values 100 to 700 and the y-axis limited to values 0 to 30
c()
xlim
ylim
を使用しているときに、軸の値を区切るために使用されることに注意してください。 2つの値を取ります。1つ目は開始値、2つ目は終了値です
引数に「las = 1」を追加することで、Y軸のラベルを回転させます。 las
には0、1、2、3を指定できます。
hist(AirPassengers, las=1) #Histogram of the AirPassengers dataset with the y-values projected horizontally
どのオプションを選んだかによって、ラベルの配置が異なります。0を選ぶとラベルは常に軸と平行になり(これがデフォルト)、1を選ぶとラベルは水平に置かれます。 軸に対して垂直に配置したい場合は2を、垂直に配置したい場合は3を選択してください。
ビン
ビンの幅を変更するには、breaks
を引数として追加し、必要なブレークポイントの数を指定します。
hist(AirPassengers, breaks=5) #Histogram of the AirPassengers dataset with 5 breakpoints
ビンの間のブレイクポイントをもっとコントロールしたい場合は、breaks
の引数にブレイクポイントのベクトルを与えることで強化できます。
hist(AirPassengers, breaks=c(100, 300, 500, 700)) #Compute a histogram for the data values in AirPassengers, and set the bins such that they run from 100 to 300, 300 to 500 and 500 to 700.
しかし、c()
=seq(x, y, z)
を追加することができます。 x,y,zの値は自分で決め、表示順に、X軸の開始番号、X軸の終了番号、これらの番号が表示される間隔を表します。
なお、2つの関数を組み合わせることもできます。
hist(AirPassengers, breaks=c(100, seq(200,700, 150))) #Make a histogram for the AirPassengers dataset, start at 100 on the x-axis, and from values 200 to 700, make the bins 150 wide
Tip seq
の引数で使われる数字を実験するときには、y軸の変化をしっかりと研究しましょう!
注意していただきたいのは、バーやビンの幅が異なると人を混乱させる可能性があり、元のヒストグラムにこのテクニックを適用した場合、データの最も興味深い部分が強調されない、あるいは隠れてしまう可能性があるということです。 ですから、実際に試してみて、自分の目的に合ったものを見つけてください!
Extra: 確率密度
hist()
関数は、デフォルトでは、特定のビンの頻度を Y 軸に表示します。 しかし、x軸のある値の区間が発生する可能性を確認したい場合は、頻度ではなく確率密度が必要になります。 そのため、比率のヒストグラムを求めることになります。 これを変更するには、freq
の引数をfalseにするか、prob
の引数をtrueにします。
hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5, prob = TRUE)#Histogram of the AirPassengers dataset with a probability density expressed through the y-axis instead of the regular frequency.
上記の確率密度プロットを作成するためにhist()
lines()
関数を使用して、データセットに密度曲線を追加することができます。
lines(density(AirPassengers)) #Get a density curve to go along with your AirPassengers histogram
なお、この関数では、ヒストグラムの prob
引数を最初に true に設定する必要があります。
ステップ 4.
hist()
hist()
関数に関する RDocumentation の記事を参照してください。
今回は、Rによるヒストグラムの作成に関する3つの記事のうちの最初の記事です。次の記事では、ggplot2を使用したヒストグラムの作成について説明します。
間違いを見つけましたか? Send us a tweet
The post How to Make a Histogram with Basic R appeared first on The DataCamp Blog .
.