linux - txt 的统计(出现频率 % ecc..)分析

标签 linux bash shell statistics

我不知道应该用什么方法来找出答案:

  • 出现频率
  • 文件中出现的值

例如我的文件是:

  xxxxx, yyyy , 79
  xxxxx, yyyy , 80
  xxxxx, yyyy , 79
  xxxxx, yyyy , 81
  xxxxx, yyyy , 80

我想知道 79 的出现率为 40%,就像 80 和 81 的出现率为 20%。 我怎样才能做到这一点? (如果可能的话,没有 R...)

我需要这些,因为我想使用 gnuplot 绘制直方图。您还能告诉我如何使用刚刚计算出的值来绘制一个直方图吗?

最佳答案

排序和 uniq 的某种组合可能会达到目的。你可以从

开始
cat file  | cut -d ',' -f 3 | sort | uniq --count > file.1

要在 gnuplot 中绘图,请执行以下操作

gnuplot
plot [78:82][0:3] "file.1" using 2:1 with boxes

左大括号[78:82]设置x范围,另一个设置y范围。这可以自动确定,但在此演示案例中,短暂查看文件以确定最小/最大值效果很好。

根据您的操作系统和配置,这可能就足够了。您可能还需要使用设置终端设置输出。 (启动gnuplot并说help,有一个程序内帮助)

关于linux - txt 的统计(出现频率 % ecc..)分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494280/

相关文章:

ruby - 如何编写启动 tmux session 的 shell 脚本,然后运行 ​​ruby​​ 脚本

linux - 在网络服务器上备份文件!和〜

c++ - 如何在子终端窗口中执行程序?

Linux 端口被阻止 - 该站点无法访问,拒绝连接

shell - 是否可以在我的 shell 文件中使用 GitHub secret ?

shell - FFMPEG 并排合并裁剪

linux - 如何使用 python 代码中的变量命令运行 linux cp -r

mysql - centos 7安装mysql失败

linux - 如何在 ubuntu 12.04 机器上运行 .exe 文件?

linux - 如何获取 Linux 上守护进程的日志