2つの列ファイルがたくさんあります。最初の列には変数の数値が含まれ、2番目の列にはこれらの数値の「実際の」値が含まれています。
つまり
file 1
41619.442 41586.441
41474.2539 41586.441
41587.539062 41586.441
41623.996094 41586.441
列2に基づいて列1の標準偏差を計算する方法は?共通事項を修正してみました。
awk '{delta = $1 - avg; avg += delta / NR; mean2 += delta * ($1 - avg); } END { print sqrt(mean2 / NR); }'
得るために
awk '{a=$2}{delta = $1 - a; a += delta / NR; a*2 += delta * ($1 - a); } END { print sqrt(a*2 / NR); }' 11978.08984 >> test1.txt
しかし、良い結果はありません。
答え1
答え2
このような質問がある場合は、以下を見てくださいdatamash
。
datamash -W pstdev 1 < file1
他の多くの機能の中で、datamashに
pstdev 1
=列1の母集団標準偏差sstdev 1
=列1のサンプル標準偏差