度数分布表から中央値を求める 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