6640 |
11 Mar 22 |
nicklas |
#!/bin/awk -f |
6640 |
11 Mar 22 |
nicklas |
2 |
|
6640 |
11 Mar 22 |
nicklas |
# Jari Häkkinen, September 2014 |
6640 |
11 Mar 22 |
nicklas |
4 |
|
6640 |
11 Mar 22 |
nicklas |
BEGIN { |
6640 |
11 Mar 22 |
nicklas |
FS="\t"; |
6640 |
11 Mar 22 |
nicklas |
mean=0; |
6640 |
11 Mar 22 |
nicklas |
m2=0; |
6640 |
11 Mar 22 |
nicklas |
n=0; |
6640 |
11 Mar 22 |
nicklas |
10 |
} |
6640 |
11 Mar 22 |
nicklas |
11 |
|
6640 |
11 Mar 22 |
nicklas |
12 |
{ |
6640 |
11 Mar 22 |
nicklas |
d=$9 < 0 ? -$9 : $9; |
6640 |
11 Mar 22 |
nicklas |
if ((d>0) && (d<500)) { |
6640 |
11 Mar 22 |
nicklas |
mean+=d; |
6640 |
11 Mar 22 |
nicklas |
m2+=d*d |
6640 |
11 Mar 22 |
nicklas |
n++; |
6640 |
11 Mar 22 |
nicklas |
18 |
} |
6640 |
11 Mar 22 |
nicklas |
19 |
} |
6640 |
11 Mar 22 |
nicklas |
20 |
|
6640 |
11 Mar 22 |
nicklas |
END { |
6640 |
11 Mar 22 |
nicklas |
mean/=n; |
6640 |
11 Mar 22 |
nicklas |
variance=(m2-n*mean*mean)/(n-1); |
6640 |
11 Mar 22 |
nicklas |
std=sqrt(variance); |
6640 |
11 Mar 22 |
nicklas |
n/=2; |
6640 |
11 Mar 22 |
nicklas |
# printf("N: %g\n",n); |
6640 |
11 Mar 22 |
nicklas |
# printf("Mean: %g\n",mean); |
6640 |
11 Mar 22 |
nicklas |
# printf("Variance: %g\n",variance); |
6640 |
11 Mar 22 |
nicklas |
# printf("std: %g\n",std); |
6640 |
11 Mar 22 |
nicklas |
printf("%ld\t%g\t%g\n",n,mean,std); |
6640 |
11 Mar 22 |
nicklas |
31 |
} |