« [R]関数をコンパイルして動作を速くする | トップページ | [R]プロット点の縁と中を別々の色で塗りつぶす »

2015年2月 4日 (水)

[R]尖度の計算

資料の分布のとがり具合の度合いを表すものに尖度というものがある。

Rに標準で組み込まれている組み込み関数に尖度を計算させるものはないため、計算するには組み込み関数を組み合わせて計算する必要がある。

以下は自作をした尖度を計算する関数。第1仮引数valに尖度を計算させたい分布を数値ベクトルで与えると、尖度を関数の戻り値としている。

kurtosis <- function(val) {
    n <- length(val)
    var1 <- var(val) * (n - 1) / n  # 不偏分散から標本分散を求める
    sd1 <- sqrt(var1)               # 標本分散の平方根
    r <- sum((val - mean(val)) ^ 4) / (n * sd1 ^ 4)
    return(r)
}

なお、求めた尖度をa4とすると、a4の値により、資料の分布について以下のことが言える。

a4 > 3 →分布は正規分布よりとがっている
a4 = 3 →分布は正規分布と同じような形をしている
a4 < 3 →分布は正規分布よりなだらか

« [R]関数をコンパイルして動作を速くする | トップページ | [R]プロット点の縁と中を別々の色で塗りつぶす »

R(数値計算)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]関数をコンパイルして動作を速くする | トップページ | [R]プロット点の縁と中を別々の色で塗りつぶす »

無料ブログはココログ

■■

■■■