• 検索結果がありません。

ヒストグラム hist()

ドキュメント内 ためになった他の人のサイト script of (ページ 37-40)

2.4 基本記述統計グラフ

2.4.3 ヒストグラム hist()

hist()

はデータのヒストグラムを計算する.もし

plot=TRUE

なら

plot.histogram()

を用いて更に描画される.

書式:

hist(x, ...)

#

既定の

S3

メソッド

hist(x, breaks = "Sturges", freq = NULL, probability = !freq,

include.lowest = TRUE, right = TRUE, density = NULL, angle = 45, col = NULL, border = NULL, main = paste("Histogram of" , xname), xlim = range(breaks), ylim = NULL, xlab = xname, ylab,

axes = TRUE, plot = TRUE, labels = FALSE, nclass = NULL, ...)

引数:

x

データベクトル

breaks

以下の一つ,

ヒストグラムのセル間の分割点を与えるベクトル

セル数を与える単一の数

セル数を計算するアルゴリズムを与える文字列

(

以下を参照

)

セル数を計算する関数

freq

論理値.もし

TRUE

ならヒストグラムは結果の

counts

成分である度数の表示.

もし

FALSE

なら

density

成分である確率密度がプロットされ,総面積は

1

にな る.

breaks

が等間隔である

(

そして

probability

が指定されない

)

ときだけ既 定値は

TRUE

probability !freq

のエイリアス

(S

との互換性のため

)

include.lowest

論 理 値 .

TRUE

な ら

breaks

に 等 し い

x[i]

は 左 の 棒

(

も し

right=FALSE

なら右

)

に含められる.

breaks

がベクトルでなければ無視さ れ警告がでる

right

論理値.もし

TRUE

ならヒストグラムのセルは右閉じ左空き区間

density

陰影斜線の密度

(

インチあたりの線数

)

.既定値の

NULL(

もしくは負値

)

では 斜線は引かれない

angle

陰影斜線の傾き.度単位の角度

(

反時計周り

) col

棒を塗りつぶす色.既定の

NULL

では塗りつぶし無し

border

棒の周囲の色.既定では標準前景色と同じ

main, xlab, ylab

これらの

title

引数は有用な既定値を持つ

xlim, ylim x, y

値の範囲.

x

軸範囲指定

xlim

はヒストグラムの定義には使われず,

plot=TRUE

の際のプロットで使われることを注意

axes

論理値.もし既定の

TRUE

なら,プロットの際軸が描かれる

plot

論理値.もし既定の

TRUE

なら,ヒストグラムが描かれる.さもなければ,

breaks

counts

のリストが返される.後者の場合,

plot=TRUE

でだけ意味 を持つ引数が指定されると警告がでる

labels

論理値もしくは文字.

FALSE

でなければ棒の上部にラベルが追加される.

help(plot.histogram)

を参照

nclass

整数値.

S(-PLUS)

との互換用.数値,文字引数に対する

breaks

と同値

... plot=TRUE

の時

plot.histogram()

に渡される追加引数

返り値: 返り値は次の成分を持つクラス

"histogram"

のリスト:

breaks n+1

個のセル境界.

breaks

がベクトルならそれと一致

counts n

個の整数.各セルに対する,その内側にある

x

データの数

density

推定密度の

x[i]

における値

f^(x[i])

.もし

all(diff(breaks)==1)

ら相対頻度で,一般に

sum[i; f^(x[i])(breaks[i+1]-breaks[i])]=1 intensities density

と同じ.廃止予定

mids n

個のセルの中点

xname

実際の

x

引数の名前の文字列

equidist

論理値.

breaks

の間隔が全て等しいか?

ヒストグラムの定義はいろいろあるが,

R

の既定である等間隔分点のヒストグラムでは 分点で決まるセル中の度数に比例する高さで棒をプロットする.等間隔分点では棒の面積 にも比例する.非等間隔の分点の場合の既定プロットでは,面積が各セルの相対度数に比 例する棒を描く.

もし既定の

right=TRUE

ならヒストグラムのセルは左半開区間

(a,b]

である.もし

include.lowest=TRUE

ならデータの最小値は最初のセルに入る.もし

right=FALSE

な ら右半開区間

[a,b)

であり,

include.lowest=TRUE

ならデータの最大値は最後のセル に入る.セルの端点上のデータ値に対してはセル幅の中央値の

1e-7

倍の寛容度が適用さ れる.

breaks

の既定手法は

"Sturges"

である

(help(nclass.Sturges

参照

)

.他に用意さ れている手法は

"Scott"

"FD"("Freedman-Diaconis")

である,

help(nclass.scott

help(nclass.FD)

参照.手法名には大・小文字は無視され,部分的マッチングが可

能.分点を計算する

x

の関数を独自に指定することもできる.

> str(hist(islands, col="gray", labels = TRUE, plot=FALSE))

List of 7 # ヒストグラム情報(だけ)

$ breaks : num [1:10] 0 2000 4000 6000 8000 10000 12000 14000 16000 18000

$ counts : int [1:9] 41 2 1 1 1 1 0 0 1

$ intensities: num [1:9] 4.27e-04 2.08e-05 1.04e-05 1.04e-05 1.04e-05 ...

$ density : num [1:9] 4.27e-04 2.08e-05 1.04e-05 1.04e-05 1.04e-05 ...

$ mids : num [1:9] 1000 3000 5000 7000 9000 11000 13000 15000 17000

$ xname : chr "islands"

$ equidist : logi TRUE

- attr(*, "class")= chr "histogram"

Warning message: # 描画しないと警告

In hist.default(islands, col = "gray", labels = TRUE, plot = FALSE) : arguments col , labels are not made use of

> hist(sqrt(islands), breaks=12) # 分点計算法による違い.12等間隔分点

> hist(sqrt(islands), breaks="Sturges") # Sturges

> hist(sqrt(islands), breaks="Scott") # Scott

> hist(sqrt(islands), breaks="FD") # FD

# Old Faithful geyser(間欠泉)の噴出時間間隔データ.カーネル法による推定密度関数プロットと比較

> d <- density(faithful$eruptions, bw = "sj")

> plot(d, ylim=c(0,0.8), col=2)

> hist(faithful$eruptions, breaks=20, freq=FALSE, add=TRUE)

Histogram of sqrt(islands)

sqrt(islands)

Frequency

0 20 40 60 80100120140

05101520253035

Histogram of sqrt(islands)

sqrt(islands)

Frequency

0 20 40 60 80 100120140

010203040

Histogram of sqrt(islands)

sqrt(islands)

Frequency

0 20 40 60 80100120140

010203040

Histogram of sqrt(islands)

sqrt(islands)

Frequency

0 20 40 60 80 100120140

05101520

2 3 4 5

0.00.20.40.60.8

density.default(x = faithful$eruptions, bw = "sj")

N = 272 Bandwidth = 0.14

Density

分点計算法による違い カーネル法による推定密度関数との比較

ドキュメント内 ためになった他の人のサイト script of (ページ 37-40)