次のコマンドを使用して、ファイルA名の標準偏差を取得します。
1 2 3 平均 23.3107 20.0372 21.7236 21.6905
awk '{x[NR]=$0 ;} END{a=$4; for (i in x){ss += (x[i]-a)^2} sd = sqrt(ss/n); SD} '
致命的になる:0で割ってみてください。
上記のコマンドを次のように修正してください。
awk '{x[NR]=$0 ;} END{a=$4; for (i in x){if (a == 0) $6 ="N/A" それ以外の場合 ss += (x[i]-a )^2} sd = sqrt(ss/n) 印刷 $5 = sd} '
しかし、エラーはまだ存在しますか?ありがとうキャス。私が求めていることを理解していますか?
ベストアンサー1
「n」はどこにありますか?
あなたは書く:
sd = sqrt(ss/n)
ところで、コードのどこに変数 "n"を割り当てましたか?表面上、awk
「n」は0です。
また、5欄a=$5
(3番目の質問、この課題がこのEND
セクションにある理由)はどこにありますか?あなたの例には4つの列しか含まれていません。