<<目次へ


相関係数の統合方法



 ここで扱う相関係数はピアソンの積率相関係数です。

研究名 標本の大きさ 相関係数
case_01 n1 r1
case_02 n2 r2
case_03 n3 r3
case_k nk rk


 まずzvarを次式によって計算します。

 ただし,

 さらに,zvarの95%信頼区間は


 統合相関係数は以下の関数によって求められます。

rvar=h(zvar)

 このとき関数h(zvar)は,



☆Perlプログラム ⇒使用ファイル 丹後俊郎「メタ・アナリシス入門」朝倉書店p97-表4.2より引用

#データファイルの読み込み
$pathname="cor.dat";
open MYFILE, "$pathname";
while (<MYFILE>) {
        chomp;
        @{"case$."} = split /\t/;
}
$k=$.;
close MYFILE;

for($i=1;$i<=$k;$i++){
        $n[$i]=@{"case$i"}[0];
        $r[$i]=@{"case$i"}[1];
        $z[$i]=1/2*log((1+$r[$i])/(1-$r[$i]));
        $sum+=($n[$i]-3)*$z[$i];
        $sum2+=($n[$i]-3);
}
$z_var=$sum/$sum2;
$lower=$z_var-1.96*sqrt(1/$sum2);
$upper=$z_var+1.96*sqrt(1/$sum2);
print "z_var=$z_var (95%C.I.=[$lower, $upper]) \n";

$r_var=h($z_var);
$r_low=h($lower);
$r_up=h($upper);
print "r_var=$r_var (95%C.I.=[$r_low, $r_up]) \n";

for($i=1;$i<=$k;$i++){
        $Q1+=($n[$i]-3)*($z[$i]-$z_var)**2;
}
$Q2=$z_var**2*$sum2;
use Statistics::Distributions;
$a=Statistics::Distributions::chisqrprob($k-1,$Q1);
$b=Statistics::Distributions::chisqrprob(1,$Q2);
print "Q1=$Q1 (df=$k-1, p=$a) \n";
print "Q2=$Q2 (df=1, p=$b) \n";

sub h{
        my $ans=(exp(2*$_[0])-1)/(exp(2*$_[0])+1);
        return($ans);
}


☆実行例

C:\Perl>sample.pl
z_var=0.147324074275664 (95%C.I.=[0.130535103405283, 0.164113045146044])
r_var=0.146267387848215 (95%C.I.=[0.129798708239361, 0.162655389577597])
Q1=76.8330923639777 (df=6-1, p=0.0000000000000038538)
Q2=295.809034015039 (df=1, p=0.0000000000000000000...0026969)

参考文献

丹後俊郎『メタ・アナリシス入門』朝倉書店 P95〜97