http://akiyah.hatenablog.com/entry/2017/04/20/131200
もともとは,
https://twitter.com/f_nisihara/status/847068734665637888?ref_src=twsrc%5Etfw&ref_url=http%3A%2F%2Fakiyah.hatenablog.com%2Fentry%2F2017%2F04%2F20%2F131200
らしいんだけど,このひとも,他人のふんどしで相撲をとっているようで,ちょっと怪しい人だと思うんだけどなあ(^_^)
「高校数学の四分位数の求め方」は間接的ではあるが,http://kou.benesse.co.jp/nigate/math/a13m0403.html が挙げられていて,そこでは,
> データを小さい方から順に並べたとき,中央値に相当するのが「第2四分位数」であり,
> 下位(中央値より小さい方)のデータの中央値が「第1四分位数」
> 上位(中央値より大きい方)のデータの中央値が「第3四分位数」
> となります。
というのを挙げている。確かに四分位数の定義とは違うが,これは,かの有名な「ヒンジ」でしょう。
https://ja.wikipedia.org/wiki/%E5%88%86%E4%BD%8D%E6%95%B0#.E3.83.92.E3.83.B3.E3.82.B8
曰く,
> 四分位数の簡易な求め方として、中央値より上の値の中央値と、中央値より下の値の中央値を使う場合がある。
> この値を特にヒンジ (hinge) と呼び、それぞれ上側ヒンジ・下側ヒンジ、または、第1・第3ヒンジ(第2ヒンジは中央値)と呼ぶ。
> ヒンジは、(厳密に計算した)四分位数とは、中央値から離れる方向に少しだけずれる。データ数が多ければずれは小さくなる。
R で hinge を求めるには,boxplot.stats を使う。
> x = c(33, 34, 55, 57, 60, 61, 61, 2, 3, 5, 6, 7, 8, 12, 15, 18, 20, 27,28, 29, 70)
> median(x[median(x) >= x) # 比較の位置が気持ち悪いのは,このブログの癖を回避するためなので,かんべんな!!!)
[1] 8 # lower hinge
> median(x[x >= median(x)])
[1] 55 # upper hinge
> boxplot.stats(x)
$stats
[1] 2 8 27 55 70 # 2 番目が lower hinge,4 番目が upper hinge
略
> y = c(33, 34, 55, 57, 60, 61, 61, 3, 5, 6, 7, 8, 12, 15, 18, 20, 27, 28, 29, 70)
> median(y[median(y) >= y])
[1] 10 # lower hinge
> median(y[y >= median(y)])
[1] 56 # upper hinge
> boxplot.stats(y)
$stats
[1] 3.0 10.0 27.5 56.0 70.0 # 2 番目が lower hinge,4 番目が upper hinge
略
これが,特殊だって???
そんなことはない。
R の boxplot は IQR として,hinge を使っているんだぞ!!!
boxplot(x) を debug してみるとわかるんだけどな。
debug: if (plot) {
if (is.null(pars$boxfill) && is.null(args$boxfill))
pars$boxfill = col
do.call("bxp", c(list(z, notch = notch, width = width, varwidth = varwidth,
log = log, border = border, pars = pars, outline = outline,
horizontal = horizontal, add = add, at = at), args[namedargs]))
invisible(z)
} else z
Browse[3]> z
$stats
[,1]
[1,] 2
[2,] 8 # これと
[3,] 27
[4,] 55 # これだぞ!!
[5,] 70
以下略
もっとも,高校数学の箱髭図は,この IQR をつかってないというのも読んだ気がするが。
※コメント投稿者のブログIDはブログ作成者のみに通知されます