度数分布表から中央値を求める     Last modified: Apr 13, 2004

目的

度数分布表の形で与えられたデータの中央値を求める。

注意:級限界値の取り扱いにより,得られる数値が変わるという微妙な問題がある。

使用法

median2(f, b, w)

引数

f	度数ベクトル
b	最初の階級の開始値
w	階級幅

ソース

インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/median2.R", encoding="euc-jp")

# 度数分布表から中央値を求める
median2 <- function( f,                                      # 度数ベクトル
                        b,                                      # 最初の階級の下限値
                        w)                                      # 階級幅
{
        cf <- cumsum(f)                                              # 累積度数
        n <- sum(f)                                          # 標本サイズ
        position <- length(cf[cf < n/2])                  # 中央値の存在する階級
        b+w*position+w*(n/2-cf[position])/f[position+1]
}


使用例

> f <- c(2, 6, 39, 385, 888, 1729, 2240, 2007, 1233, 641, 201, 74, 14, 5, 1)
> median2(f, 55.5, 8)
[1] 109.5125

> f <- c(4, 19, 86, 177, 105, 33, 2)
> median2(f, 140, 5)
[1] 157.9379

・ 解説ページ


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh