使用 awk 计算第 95 个百分位

2024-02-18

我是 awk 脚本编写的新手,希望获得一些帮助来计算包含以下数据的文件的第 95 个百分位值:

0.0001357
0.000112
0.000062
0.000054
0.000127
0.000114
0.000136

I tried:

cat filename.txt | sort -n |
awk 'BEGIN{c=0} {total[c]=$1; c++;} END{print total[int(NR*0.95-0.5)]}'

但当我将它与 Excel 进行比较时,我似乎没有得到正确的值。


我不确定 Excel 是否执行某种加权百分位数,但如果您确实想要原始集合中的数字之一,那么您的方法应该可以正确进行舍入。

你可以像这样简化一点,但其实是一样的。

sort -n input.txt  | awk '{all[NR] = $0} END{print all[int(NR*0.95 - 0.5)]}'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 awk 计算第 95 个百分位 的相关文章

随机推荐