diff options
Diffstat (limited to '')
| -rw-r--r-- | kalman.awk | 17 |
1 files changed, 5 insertions, 12 deletions
@@ -1,3 +1,5 @@ +#!/usr/bin/awk -f + ### lin_reg.awk # simple linear regression between columns @@ -12,10 +14,7 @@ BEGIN { NR == 1 { header_nf = NF for (n=1; n<=NF; n++) { - if ($n !~ number) - header[n] = $n - else - header[n] = "col_" n + ($n !~ number) ? header[n] = $n : header[n] = "col_" n } } @@ -40,10 +39,7 @@ NF != 0 { sum_delta2[y] += delta[y]*delta[y] ### sample variance - if (count[y] - 1) - var[y] = sum_delta2[y]/(count[y] - 1) - else - var[y] = 0 + (count[y] - 1) ? var[y] = sum_delta2[y]/(count[y] - 1) : var[y] = 0 # x = row, y = col for (x=1; x<=max_nf; x++) { @@ -64,10 +60,7 @@ NF != 0 { # correlation r_den[x,y] = sqrt(sum_delta2[x]*sum_delta2[y]) - if (r_den[x,y]) - r[x,y] = sum_delta_xy[x,y]/r_den[x,y] - else - r[x,y] = 1 + (r_den[x,y]) ? r[x,y] = sum_delta_xy[x,y]/r_den[x,y] : r[x,y] = 1 ab_den[x,y] = (count[x,y]*sum2[x] - sum[x]*sum[x]) if (ab_den[x,y]) { |
