summaryrefslogtreecommitdiff
path: root/mean_avg.awk
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--mean_avg.awk10
1 files changed, 6 insertions, 4 deletions
diff --git a/mean_avg.awk b/mean_avg.awk
index ed6f81a..4bf7051 100644
--- a/mean_avg.awk
+++ b/mean_avg.awk
@@ -24,22 +24,24 @@ NF > 0 {
for (n=1; n <= NF; n++) {
if ($n ~ number) {
count[n] += 1
+ (count[n] == 1 || $n < min[n]) ? min[n] = $n : min[n] = min[n]
+ (count[n] == 1 || $n > max[n]) ? max[n] = $n : max[n] = max[n]
delta0[n] = $n - mean[n]
mean[n] += delta0[n]/count[n]
delta1[n] = $n - mean[n]
M2[n] += delta0[n]*delta1[n]
- (count[n] > 1) ? var[n] = M2[n]/(count[n] - 1) : var[n] = ""
+ (count[n] > 1) ? var[n] = M2[n]/(count[n] - 1) : var[n] = "nan"
}
}
}
END {
- print "col", "mean", "std_err", "std_dev", "count"
+ print "col", "mean", "std_err", "std_dev", "min", "max", "count"
for (n=1; n<=max_nf; n++) {
if (header[n])
- print header[n], mean[n], sqrt(var[n]/count[n]), sqrt(var[n]), count[n]
+ print header[n], mean[n], sqrt(var[n]/count[n]), sqrt(var[n]), min[n], max[n], count[n]
else
- print "col" n, mean[n], sqrt(var[n]/count[n]), sqrt(var[n]), count[n]
+ print "col" n, mean[n], sqrt(var[n]/count[n]), sqrt(var[n]), min[n], max[n], count[n]
}
}