#!/usr/bin/awk -f BEGIN{ sum1 = 0; sum2 = 0; sumprod = 0; sumsq1 = 0; sumsq2 = 0; N = 0; pos = 0; neg = 0; same = 0; } { sum1 += $1; sumsq1 += $1 * $1; sum2 += $2; sumsq2 += $2 * $2; sumprod += $1 * $2; N++; if( $1==$2 ) same++; else if( $1>$2 ) pos++; else neg++; } END{ m1 = sum1/N; m2 = sum2/N var1 = ( sumsq1 - sum1*sum1/N )/(N-1); var2 = ( sumsq2 - sum2*sum2/N )/(N-1); sd1 = sqrt ( var1 ); sd2 = sqrt ( var2 ); printf("sys 1: %1.4f+/-%1.4f, sys 2: %1.4f+/-%1.4f\n", m1, sd1, m2, sd2); err1 = sd1/sqrt(N); err2 = sd2/sqrt(N); r = ( sumprod-sum1*sum2/N ) / sqrt( ( sumsq1-sum1*sum1/N ) * ( sumsq2-sum2*sum2/N ) ); t = ( m1 - m2 ) / sqrt( err1*err1 + err2*err2 - 2*r*err1*err2 ); printf("same: %d, pos: %d, neg: %d (%d queries)\n", same, pos, neg, N); printf("correlation: %1.4f, t-test: %1.4f\n", r, t); }