假设我运行一个命令,该命令在行上输出空格分隔的值。其中一些是数字。是否有一个实用程序可以用来计算这些数字的平均值、中位数和标准差?类似于“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 语言非常适合这个。它在终端中运行,是免费的,而且可能是目前最流行的统计语言。因此,它有大量关于如何完成巧妙事情的文档,包括您要求的那些。