Rで中学校・高校のグラフを作る

統計ソフト R では以下のグラフを作ることが難しいです.

これらを行うことができる関数を作成しました.

使い方の例

箱ひげ図

source("http://www.math.chuo-u.ac.jp/~sakaori/statedu.R")
data(iris)
hako(Sepal.Width~Species, data=iris)

hako関数が, 中高で習う箱ひげ図を描く関数です. R 標準の boxplot 関数から,

という変更を施しています. それ以外は boxplot 関数と同じ使い方ができます. 例えば...

などです.

なお, 四分位数を計算する関数として gosu(五数要約の意味)も作っていますので, gosu(iris$Sepal.Length)のようにすると四分位数が計算できます.

相対度数のヒストグラム

source("http://www.math.chuo-u.ac.jp/~sakaori/statedu.R")
data(iris)
histo(iris$Sepal.Width, type="percent")

histo関数(通常の hist 関数に小文字のオーがついています)は、latticeパッケージの histogram関数を使いやすくしたものです. type="percent" とすると相対度数のヒストグラムになります. type="count" で度数、type="density" で密度のヒストグラム(総面積が1)です. lattice パッケージのインストールが必要なのでご注意ください.

histogram関数との違いは,

といったところです.

例えば histogram 関数では ~Sepal.Width|Speciesのような formula を入れると, 上の箱ひげ図と同じように層別したヒストグラムになるのですが, これを上の箱ひげ図と同じSepal.Width~Speciesで実現できるようにしました.

histogram関数特有の注意点として, breaks(階級の個数, あるいは階級の端点)を指定しないで描くと, スタージェスの公式に従って階級分けがなされ, その階級の端点はキリのよい数字にはなりません. breaks=8 などのオプションを付けると, キリのよいところで「ほぼ階級数8で」描いてくれます(階級数がちょうど8になるとは限りません. キリのよい数字になることが優先されます).