#!/usr/local/bin/perl # calculate mean and sd # first line is labels $_ = <>; @labels = split; shift @labels; # remove "subjects" label # next are data while (<>) { chop; @line = split; shift @line; # remove subject name foreach $i (0 .. $#line) { $sum[$i] += $line[$i]; $ssq[$i] += $line[$i] * $line[$i]; } $n++; } foreach $i (0 .. $#line) { $mean[$i] = $sum[$i] / $n; $var[$i] = ($ssq[$i] - $sum[$i]*$sum[$i]/$n) / ($n-1); ($var[$i] > 0) || ($var[$i] = 0); $stderr[$i] = sqrt($var[$i] / $n); } # labels foreach $i (0 .. $#line) { $x = $labels[$i]; print "$x\t"; } print "\n"; # means foreach $i (0 .. $#line) { $x = $mean[$i]; printf ("%.3f\t" , $x); } print "\n"; # standard errors foreach $i (0 .. $#line) { $x = $stderr[$i]; printf ("%.3f\t" , $x); } print "\n";