Chinaunix
标题:
如何用awk计算方差
[打印本页]
作者:
jiangjingjiu
时间:
2010-11-29 18:36
标题:
如何用awk计算方差
hi,我是个shell新手,想请教一下用awk怎么计算方差?
输入的文件经过处理后是这样的:
12
4
4
5
5
2
23
.
.
.
.
.
各位兄弟帮帮忙,呵呵
作者:
rpbear
时间:
2010-11-29 18:44
要是我没理解错什么是方差的话应该是这样的
awk '{a[++i]=$1;} END{for(i in a)sum += a[i];ave=sum/i;for(i in a) delta += (a[i]-ave)*(a[i]-ave);print delta}' file
复制代码
作者:
L_kernel
时间:
2010-11-29 19:25
# cat file | tr '\n' ' ' | awk '{for(i=1;i<=NF;i++) total+=$i;ave=total/NF;for(i=1;i<=NF;i++) tmp+=(($i-ave)*($i-ave)); print tmp/NF}'
46.6939
复制代码
就那七个数字,专门用计算器计算了一下,结果是正确的。
作者:
jiangjingjiu
时间:
2010-11-30 12:01
回复
1#
jiangjingjiu
恩,谢谢啊,结果正确
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2