summaryrefslogtreecommitdiff
path: root/lin_reg1.awk
diff options
context:
space:
mode:
authorwukong <wukong@longaeva>2018-06-17 16:38:38 -0700
committerwukong <wukong@longaeva>2018-06-17 16:44:59 -0700
commit2482727a6902e44e6a68236f878f5f9bf7947bd2 (patch)
tree1849d67ab3f730d4ddecbfbe5486d618ff3ac5ec /lin_reg1.awk
parent4916e9b13765de970deff094abb3eb50c663834a (diff)
added covariance matrix calculation
Diffstat (limited to '')
-rw-r--r--[-rwxr-xr-x]lin_reg1.awk11
1 files changed, 5 insertions, 6 deletions
diff --git a/lin_reg1.awk b/lin_reg1.awk
index cf3e69a..8b03e2f 100755..100644
--- a/lin_reg1.awk
+++ b/lin_reg1.awk
@@ -4,7 +4,7 @@
# simple linear regression between columns
BEGIN {
- OFS = "%.18g"
+ OFMT = "%.18g"
sign = "[+-]?"
decimal = "[0-9]+[.]?[0-9]*"
fraction = "[.][0-9]*"
@@ -13,13 +13,11 @@ BEGIN {
}
NR == 1 {
- header_nf = NF
- for (n=1; n<=NF; n++) {
- ($n !~ number) ? header[n] = $n : header[n] = "col" n
- }
+ for (n=1; n<=NF; n++)
+ ($n ~ number) ? header[n] = "col" n : header[n] = $n
}
-NF != 0 {
+NF > 0 {
if (NF > nf_max)
nf_max = NF
@@ -44,6 +42,7 @@ NF != 0 {
sum_xy[x,y] += $x*$y
sum_delta_xy[x,y] += delta[x]*delta[y]
+ # correlation
r_den[x,y] = sqrt(sum_delta2[x]*sum_delta2[y])
(r_den[x,y]) ? r[x,y] = sum_delta_xy[x,y]/r_den[x,y] : r[x,y] = 0