#==========
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
※コメント投稿者のブログIDはブログ作成者のみに通知されます