src/utils/ave/ave.c 1.10

1.10 2009/11/18 20:07:23 hiram
Previous standard deviation was incorrect, was not using N-1
Index: src/utils/ave/ave.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/utils/ave/ave.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -b -B -U 4 -r1.9 -r1.10
--- src/utils/ave/ave.c	17 Nov 2009 23:39:26 -0000	1.9
+++ src/utils/ave/ave.c	18 Nov 2009 20:07:23 -0000	1.10
@@ -87,13 +87,17 @@
     oneVar = (average-val);
     totalVar += oneVar*oneVar;
     }
 
+    double var = totalVar;
+    if (count > 1)
+	var /= count-1;
+    double stdDev = sqrt(var);
 if (tableOut)
     {
     printf("# min Q1 median Q3 max mean N sum stddev\n");
     printf("%g %g %g %g %g %g %d %g %g\n", minVal, q1, array[count/2],
-	q3, maxVal, average, count, total, sqrt(totalVar/count));
+	q3, maxVal, average, count, total, stdDev);
     }
 else
     {
     printf("Q1 %f\n", q1);
@@ -103,9 +107,9 @@
     printf("min %f\n", minVal);
     printf("max %f\n", maxVal);
     printf("count %d\n", count);
     printf("total %f\n", total);
-    printf("standard deviation %f\n", sqrt(totalVar/count));
+    printf("standard deviation %f\n", stdDev);
     }
 }
 
 void aveNoQuartiles(char *fileName)