在 Linux 命令行中进行统计的工具

在 Linux 命令行中进行统计的工具

假设我运行一个命令,该命令在行上输出空格分隔的值。其中一些是数字。是否有一个实用程序可以用来计算这些数字的平均值、中位数和标准差?类似于“cut”的东西,但可以输出这些统计数据。

答案1

退房时间:https://github.com/nferraz/st或 sta (推荐):https://github.com/simonccarter/sta

来自 GitHub:

斯塔

通过命令行界面(CLI)进行简单统计,速度快。描述

这是一个轻量级、快速的工具,用于从命令行计算基本的描述性统计数据。灵感来自 https://github.com/nferraz/st,该项目的不同之处在于它是用 C++ 编写的,从而能够在更大的非平凡数据集上更快地计算统计数据。

新增内容包括有偏估计量与无偏估计量的选择,以及使用补偿变量算法的选项。

给定一个包含 1,000,000 个升序数字的文件,在 2.5GHz 双核 MacBook 上使用 Bash 时间进行的简单测试表明,sta 需要不到一秒的时间才能完成,而使用 st 则需要 14 秒。

答案2

您也可以考虑使用克利斯塔茨. 它是一个高度可配置的命令行界面工具,用于计算分隔输入数字流的统计数据。

I/O 选项

  • 输入数据可以来自文件、标准输入或管道
  • 输出可以写入文件,标准输出或管道
  • 输出使用以“#”开头的标题来启用到 gnuplot 的管道

解析选项

  • 根据信号、文件结尾或空行检测来停止处理
  • 可以设置注释和分隔符
  • 可以从处理中过滤掉列
  • 可以根据数值约束从处理中过滤掉行
  • 可以根据字符串约束从处理中过滤掉行
  • 可以跳过初始标题行
  • 可以处理固定数量的行
  • 重复的分隔符可以被忽略
  • 行可以重新调整为列
  • 严格执行仅处理相同大小的行
  • 包含列标题的行可用于为输出统计信息添加标题

统计选项

  • 汇总统计数据(计数、最小值、平均值、最大值、标准差)
  • 协方差
  • 相关性
  • 最小二乘偏移
  • 最小二乘斜率
  • 直方图
  • 过滤后的原始数据

注:我是作者。

答案3

R 语言非常适合这个。它在终端中运行,是免费的,而且可能是目前最流行的统计语言。因此,它有大量关于如何完成巧妙事情的文档,包括您要求的那些。

相关内容