diff options
| author | wukong <wukong@longaeva> | 2019-10-22 19:57:00 -0700 |
|---|---|---|
| committer | wukong <wukong@longaeva> | 2019-10-22 19:57:00 -0700 |
| commit | c1ec2518f46cd011ef79c7e7b08265a9053c92b6 (patch) | |
| tree | b6cc20703fa62640e7171c4b20ad9d2efca0a30a /diff.awk | |
| parent | 9efa8c077a4f9cea4b057f8b98104a34e38bcbfd (diff) | |
added (prev_data ~ number) check to diff;
added ($x ~ number) check to lin_reg;
added gaussian expressions gaussian;
Diffstat (limited to 'diff.awk')
| -rw-r--r-- | diff.awk | 39 |
1 files changed, 21 insertions, 18 deletions
@@ -5,6 +5,7 @@ BEGIN { OFS = FS + # OFMT = "%.9g" sign = "[+-]?" decimal = "[0-9]+[.]?[0-9]*" fraction = "[.][0-9]*" @@ -13,7 +14,7 @@ BEGIN { } NR == 1 { - ### orig data columns + # orig data columns for (n=1; n<=NF; n++) { if ($n !~ number) { header[n] = $n @@ -27,7 +28,7 @@ NR == 1 { printf(OFS) } - ### diff columns + # diff columns for (n=1; n<=NF; n++) { printf(dheader[n]) printf(n < NF ? OFS : ORS) @@ -38,29 +39,31 @@ NF { if (NF > nf_max) nf_max = NF - ### data columns - for (y=1; y<=nf_max; y++) { - if ($y == header[y] || $y == dheader[y]) + # data columns + for (n=1; n<=nf_max; n++) { + if ($n == header[n] || $n == dheader[n]) continue - if ($y ~ number) - printf(OFMT, $y) + if ($n ~ number) + printf(OFMT, $n) else printf("") printf(OFS) } - ### diff columns - for (y=1; y<=nf_max; y++) { - if ($y == header[y] || $y == dheader[y]) + # diff columns + for (n=1; n<=nf_max; n++) { + if ($n == header[n] || $n == dheader[n]) continue - if ($y ~ number) { - data[y] = $y - diff[y] = data[y] - data_prev[y] - data_prev[y] = data[y] - printf(OFMT, diff[y]) + if ($n ~ number) { + data[n] = $n + if (data_prev[n] ~ number) + diff[n] = data[n] - data_prev[n] + else + diff[n] = "" + data_prev[n] = data[n] } - else - diff[y] = "" - printf(y < nf_max ? OFS : ORS) + printf(diff[n]) + printf(n < nf_max ? OFS : ORS) } } + |
