裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

Julia に翻訳--142 スミルノフ・グラブス検定

2021年03月29日 | ブログラミング

#==========
Julia の修行をするときに,いろいろなプログラムを書き換えるのは有効な方法だ。
以下のプログラムを Julia に翻訳してみる。

スミルノフ・グラブス検定
http://aoki2.si.gunma-u.ac.jp/R/SG.html

ファイル名: sg.jl  関数名: sg

翻訳するときに書いたメモ

==========#

using Statistics, Rmath

function sg(x)
    n = length(x)
    t = abs.(extrema(x) .- mean(x)) ./ std(x)
    df = n - 2
    p = @. n * pt(sqrt(df / ((n - 1) ^ 2 / t ^ 2 / n - 1)), df, false)
    p = [min(p0, 1) for p0 in p]
    println("min: $(minimum(x))")
    println("t = $(t[1]),  df = $df,  pvalue = $(p[1])")
    println("max: $(maximum(x))")
    println("t = $(t[2]),  df = $df,  pvalue = $(p[2])")
    Dict(:t => t, :df => df, :p => p)
end

x = [133, 134, 134, 134, 135, 135, 139, 140, 140, 140,
    141, 142, 142, 144, 144, 147, 147, 149, 150, 164]

sg(x)
# min: 133
# t = 1.1724347855313042,  df = 18,  pvalue = 1.0
# max: 164
# t = 3.0052064042928888,  df = 18,  pvalue = 0.004864034251605727

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Julia に翻訳--141 Breslow-... | トップ | Julia に翻訳--143 クロンバ... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事