AWKを使用したテーブルの列の標準化

AWKを使用したテーブルの列の標準化

数値テーブルがありますが、次のようにテーブルを正規化したいと思います。

1 列 3 と 7 を乗算し、その結果を列 11 に加算し、最後の結果に列番号 1 を掛けます。

2 - 次に、テーブル内の各数値を以前に計算された結果に分割してテーブルを正規化したいと思います。

1.31 1.30 1.28 1.26 1.25 1.24 1.22 1.21 1.20 1.19 .25 40
1.71 1.66 1.61 1.57 1.54 1.51 1.47 1.42 1.40 1.38 .10
2.00 1.92 1.84 1.79 1.74 1.69 1.64 1.58 1.54 1.51 .05
2.29 2.18 2.07 2.01 1.94 1.88 1.80 1.72 1.68 1.64 .025
2.66 2.52 2.37 2.29 2.20 2.11 2.02 1.92 1.86 1.80 .01
2.95 2.78 2.60 2.50 2.40 2.30 2.18 2.06 2.00 1.93 .005
3.64 3.40 3.14 3.01 2.87 2.73 2.57 2.41 2.32 2.23 .001
1.29 1.27 1.25 1.24 1.22 1.21 1.19 1.17 1.16 1.15 .25 60
1.66 1.60 1.54 1.51 1.48 1.44 1.40 1.35 1.32 1.29 .10
1.92 1.84 1.75 1.70 1.65 1.59 1.53 1.47 1.43 1.39 .05
2.17 2.06 1.94 1.88 1.82 1.74 1.67 1.58 1.53 1.48 .025
2.50 2.35 2.20 2.12 2.03 1.94 1.84 1.73 1.67 1.60 .01
2.74 2.57 2.39 2.29 2.19 2.08 1.96 1.83 1.76 1.69 .005
3.32 3.08 2.83 2.69 2.55 2.41 2.25 2.08 1.99 1.89 .001

これを行うにはどうすればよいですかawk

最初の計算の結果は次のとおりです。

2.3732
4.21806
6.1352
8.58979
12.7611
16.7354
29.3777
2.24137
3.74496
5.2368
7.08462
10.145
12.849
21.1434

テーブルを正規化した後、結果は次のようになります。

1.31 1.30 1.28 1.26 1.25 1.24 1.22 1.21 1.20 1.19 .25 40 1.31 1.30 1.28 1.26 1.25 1.24 1.22 1.21 1.20 1.19 .25 402.3732
1.71 1.66 1.61 1.57 1.54 1.51 1.47 1.42 1.40 1.38 .10 1.71 1.66 1.61 1.57 1.54 1.51 1.47 1.42 1.40 1.38 .104.21806
2.00 1.92 1.84 1.79 1.74 1.69 1.64 1.58 1.54 1.51 .05 2.00 1.92 1.84 1.79 1.74 1.69 1.64 1.58 1.54 1.51 .056.1352
2.29 2.18 2.07 2.01 1.94 1.88 1.80 1.72 1.68 1.64 .025 2.29 2.18 2.07 2.01 1.94 1.88 1.80 1.72 1.68 1.64 .0258.58979
2.66 2.52 2.37 2.29 2.20 2.11 2.02 1.92 1.86 1.80 .01 2.66 2.52 2.37 2.29 2.20 2.11 2.02 1.92 1.86 1.80 .0112.7611
2.95 2.78 2.60 2.50 2.40 2.30 2.18 2.06 2.00 1.93 .005 2.95 2.78 2.60 2.50 2.40 2.30 2.18 2.06 2.00 1.93 .00516.7354
3.64 3.40 3.14 3.01 2.87 2.73 2.57 2.41 2.32 2.23 .001 3.64 3.40 3.14 3.01 2.87 2.73 2.57 2.41 2.32 2.23 .00129.3777
1.29 1.27 1.25 1.24 1.22 1.21 1.19 1.17 1.16 1.15 .25 60 1.29 1.27 1.25 1.24 1.22 1.21 1.19 1.17 1.16 1.15 .25 602.24137
1.66 1.60 1.54 1.51 1.48 1.44 1.40 1.35 1.32 1.29 .10 1.66 1.60 1.54 1.51 1.48 1.44 1.40 1.35 1.32 1.29 .103.74496
1.92 1.84 1.75 1.70 1.65 1.59 1.53 1.47 1.43 1.39 .05 1.92 1.84 1.75 1.70 1.65 1.59 1.53 1.47 1.43 1.39 .055.2368
2.17 2.06 1.94 1.88 1.82 1.74 1.67 1.58 1.53 1.48 .025 2.17 2.06 1.94 1.88 1.82 1.74 1.67 1.58 1.53 1.48 .0257.08462
2.50 2.35 2.20 2.12 2.03 1.94 1.84 1.73 1.67 1.60 .01 2.50 2.35 2.20 2.12 2.03 1.94 1.84 1.73 1.67 1.60 .0110.145
2.74 2.57 2.39 2.29 2.19 2.08 1.96 1.83 1.76 1.69 .005 2.74 2.57 2.39 2.29 2.19 2.08 1.96 1.83 1.76 1.69 .00512.849
3.32 3.08 2.83 2.69 2.55 2.41 2.25 2.08 1.99 1.89 .001 3.32 3.08 2.83 2.69 2.55 2.41 2.25 2.08 1.99 1.89 .00121.1434

ベストアンサー1

このコマンドは以下を計算します。

awk ' {print $0, $0(($3*$7)+$11)*$1}'

おすすめ記事