<<目次へ


1要因-CRデザイン(各水準の観測数が等しい場合)


---ここから--- #使用ファイルはタブ区切りにして下さい。以下は水準数4,観測数8の場合です。
9       6       10      9
7       5       13      11
8       6       8       13
8       3       13      14
12      6       12      16
11      7       14      12
8       10      14      15
13      9       16      14
---ここまで---

Perlプログラムの実行方法はこちら

#ファイルの読み込み
$pathname="C://Perl/datafile/anovaCR.dat";
open MYFILE, "$pathname";
while (<MYFILE>) {
        chomp;
        @{"dat$."} = split /\t/;
}
$rows=$.;
close MYFILE;

$cols=@dat1;
for($i=0;$i<$cols;$i++){
        for($j=1;$j<=$rows;$j++){
                $A[$i]+=@{"dat$j"}[$i];
                $AS+=@{"dat$j"}[$i]**2;
        }
        $G+=$A[$i];
}
for($i=0;$i<$cols;$i++){
        $sum+=$A[$i]**2/$rows;
}

$SSa=sprintf("%.2f",$sum-$G**2/($rows*$cols));
$SSwc=sprintf("%.2f",$AS-$sum);
$SSt=sprintf("%.2f",$AS-$G**2/($rows*$cols));
$MSa=sprintf("%.2f",$SSa/($cols-1));
$MSwc=sprintf("%.2f",$SSwc/($cols*($rows-1)));
$F=sprintf("%.4f",$MSa/$MSwc);
$df1=$cols-1;
$df2=$cols*($rows-1);
$df3=$cols*$rows-1;
use Statistics::Distributions;
$a=sprintf("%.4f",Statistics::Distributions::fprob($df1,$df2,$F));


print "    \t SS \t\t DF \t MS \t F \n";
print "SSB \t $SSa \t $df1 \t $MSa \t $F(p=$a) \n";
print "SSW \t $SSwc \t $df2 \t $MSwc \n";
print "T   \t $SSt \t $df3 \n";



参考文献

森・吉田「心理学のためのデータ解析テクニカルブック」北大路書房