#==========
Julia の修行をするときに,いろいろなプログラムを書き換えるのは有効な方法だ。
以下のプログラムを Julia に翻訳してみる。
同じサンプルからの相関係数の差
http://aoki2.si.gunma-u.ac.jp/R/diff_r.html
ファイル名: diffr.jl 関数名: diffr
翻訳するときに書いたメモ
Julia では t という変数名が許されるので気持ちがよい。
==========#
using Rmath
function diffr(n, rxy, rvy, rxv)
detR = (1 - rxy^2 - rvy^2 - rxv^2) + 2 * rxy * rxv * rvy
t = (abs(rxy - rvy) * sqrt((n - 1) * (1 + rxv))) /
sqrt(2 * detR * (n - 1) / (n - 3) + (rxy + rvy)^2 * (1 - rxv)^3 / 4)
df = n - 3
p = pt(t, df, false) * 2
println("t = $t, df = $df, p value = $p")
Dict(:t => t, :df => df, :pvalue => p)
end
diffr(50, 0.5, 0.32, 0.65)
# t = 1.696399559067307, df = 47, p value = 0.09642490775716749
※コメント投稿者のブログIDはブログ作成者のみに通知されます