diff options
| author | wukong <wukong@longaeva> | 2026-04-10 23:46:12 -0700 |
|---|---|---|
| committer | wukong <wukong@longaeva> | 2026-04-10 23:46:12 -0700 |
| commit | 4c4eb1bd8f003b3b57707badd2dd089ed193a896 (patch) | |
| tree | 15b62907fffd70c46a9b4369df93ab33c6aa88ac /mean_avg.awk | |
| parent | e7d1781578e846a7b1d634cd43c8fab00a67b883 (diff) | |
renamed fir window generators;
minor edits to whitespace and comments for more consistent style;
Diffstat (limited to 'mean_avg.awk')
| -rw-r--r-- | mean_avg.awk | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/mean_avg.awk b/mean_avg.awk index bef984d..05c93f1 100644 --- a/mean_avg.awk +++ b/mean_avg.awk @@ -5,6 +5,7 @@ # input: delimited data as text # output: list of univariate summary stats + BEGIN { OFS = FS #sign = "[+-]?" @@ -14,15 +15,19 @@ BEGIN { number = "^[+-]?([0-9]+[.]?[0-9]*|[.][0-9]*)([Ee][+-]?[0-9]+)?$" } + +# column headers NR == 1 { for (n=1; n<=NF; n++) ($n ~ number) ? header[n] = "col" n : header[n] = $n } + # Welford's 'online' algorithm for variance -NF { - if (NF > max_nf) - max_nf = NF +NF > 0 { + (NF > nf_max) ? nf_max = NF : nf_max = nf_max + + # columns for (n=1; n <= NF; n++) { if ($n ~ number) { count[n] += 1 @@ -38,6 +43,7 @@ NF { } } + END { print "col", "mean", "std_err", "std_dev", "range", "min", "max", "total", "count" for (n=1; n<=max_nf; n++) { |
