下面是我的输入文件:
1.37987
1.21448
0.624999
1.28966
1.77084
1.088
1.41667
我想创建我选择的大小的bin,以获得类似直方图的输出,例如,从0开始的0.1个bin的输出如下所示:
0 0.1 0
...
0.5 0.6 0
0.6 0.7 1
...
1.0 1.1 1
1.1 1.2 0
1.2 1.3 2
1.3 1.4 1
...
我的文件对于R来说太大了,所以我在寻找一个awk解决方案(也对我能理解的任何其他东西开放,因为我仍然是一个Linux初学者)。
这在这篇文章中已经得到了回答:awk histogram in buckets,但该解决方案不适合我。
4条答案
按热度按时间uqdfh47h1#
这应该是非常接近的,如果不是完全正确的话。至少把它当作一个起点,并自己验证/弄清楚数学(特别是决定/验证像
0.2
这样的精确边界匹配应该进入哪个桶- 0.1到0.2和/或0.2到0.3?):请注意,您可以在命令行上分配存储桶增量大小,0.1只是默认值:
wrrgggsh2#
这也是可能的:
它本质上与EdMorton的解决方案相同,但从最小值(默认为
0
)开始打印桶。它本质上考虑了负数。ca1c2owp3#
这是我用Awk解决这个问题的尝试。
要运行:
awk -f belowscript.awk inputfile
注意事项:
gfttwv5a4#
Python的另一种解决方案