Compute average and standard deviation with awk

后端 未结 4 845
误落风尘
误落风尘 2020-12-14 16:43

I have a \'file.dat\' with 24 (rows) x 16 (columns) data.

I have already tested the following awk script that computes de average of each column.

t         


        
4条回答
  •  情深已故
    2020-12-14 17:27

    Here is some calculation I've made on a grinder data output file for a long soak test which had to be interrupted:

    Standard deviation(biased) + average:

    cat  | grep -v "1$" | awk -F ', '  '{   sum=sum+$5 ; sumX2+=(($5)^2)} END { printf "Average: %f. Standard Deviation: %f \n", sum/NR, sqrt(sumX2/(NR) - ((sum/NR)^2) )}'
    

    Standard deviation(non-biased) + average:

    cat   | grep -v "1$" | awk -F ', '  '{   sum=sum+$5 ; sumX2+=(($5)^2)} END { avg=sum/NR; printf "Average: %f. Standard Deviation: %f \n", avg, sqrt(sumX2/(NR-1) - 2*avg*(sum/(NR-1)) + ((NR*(avg^2))/(NR-1)))}'
    

提交回复
热议问题