summaryrefslogtreecommitdiff
path: root/lin_reg.awk
diff options
context:
space:
mode:
authorwukong <wukong@longaeva>2018-06-18 04:00:29 -0700
committerwukong <wukong@longaeva>2018-06-18 04:00:29 -0700
commitc44ac59acbb18c6982e180637566dec8eb9baebd (patch)
tree66ea1e51ed0a60b2fdf48ea1b1c5b852007a05fd /lin_reg.awk
parent2482727a6902e44e6a68236f878f5f9bf7947bd2 (diff)
adjusted print statements to use OFMT, OFS, and ORS;
Diffstat (limited to 'lin_reg.awk')
-rw-r--r--lin_reg.awk10
1 files changed, 6 insertions, 4 deletions
diff --git a/lin_reg.awk b/lin_reg.awk
index 56114a2..0e51266 100644
--- a/lin_reg.awk
+++ b/lin_reg.awk
@@ -4,7 +4,7 @@
# simple linear regression between columns
BEGIN {
- OFMT = "%.18g"
+ OFMT = "%.9g"
sign = "[+-]?"
decimal = "[0-9]+[.]?[0-9]*"
fraction = "[.][0-9]*"
@@ -23,6 +23,8 @@ NF > 0 {
### iterate over columns
for (y=1; y<=nf_max; y++) {
+ if ($y == header[n])
+ continue
if ($y ~ number) {
### mean
@@ -42,10 +44,10 @@ NF > 0 {
for (x=1; x<=nf_max; x++) {
count[x,y] += 1
sum_xy[x,y] += $x*$y
- sum_delta_xy[x,y] += delta[x]*delta[y]
+ sum_delta_xy[x,y] += delta0[x]*delta1[y]
# covariance
- #(count[x,y] > 1) ? cov[x,y] = sum_delta_xy[x,y]/(count[x,y] - 1) : cov[x,y] = ""
+ (count[x,y] > 1) ? cov[x,y] = sum_delta_xy[x,y]/(count[x,y] - 1) : cov[x,y] = ""
# correlation
r_den[x,y] = sqrt(sum_delta2[x]*sum_delta2[y])
@@ -84,7 +86,7 @@ END {
for (y=1; y<=nf_max; y++) {
for (x=1; x<=nf_max; x++) {
if (x != y && r[x,y]) {
- printf("%.9g "OFS" (%s) "OFS" = (%.9g +/- %.9g)(%s) "OFS" + (%.9g +/- %.9g)%s",
+ printf(OFMT OFS "(%s)" OFS " = (" OFMT " +/- " OFMT ")(%s)" OFS " + (" OFMT " +/- "OFMT ")%s",
10.0*log(r[x,y]*r[x,y])/log(10.0), header[y], b[x,y],
b_err[x,y], header[x], a[x,y], a_err[x,y], ORS)
}