254 R -- 同値のある場合の中央値 青木繁伸 2002/01/15 (火) 12:44
254. R -- 同値のある場合の中央値 青木繁伸 2002/01/15 (火) 12:44 |
my.median <- function (x, accuracy=0) { median <- median.sub(x) if ((ntie <- length(x[x == median])) != 1 && accuracy > 0) { x <- c(x[x != median], (median-(ntie+1)*accuracy/2/ntie)+1:ntie/ntie) median <- median.sub(x) } return(median) } median.sub <- function(x) { n <- length(x) half <- (n + 1)/2 if (n%%2 == 1) { sort(x, partial = half)[half] } else { sum(sort(x, partial = c(half, half + 1))[c(half, half + 1)])/2 } } # 使用例 > x <- c(1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,5,5) > median(x) # [1] 3 > my.median(x, accuracy=1) # [1] 3.125 http://aoki2.si.gunma-u.ac.jp/lecture/Univariate/median.html 参照 |
● 「統計学関連なんでもあり」の過去ログ--- 017 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る