跳到主内容

dsh-tool-stat 使用指南

DSH 数值统计工具,对一组有限数算描述统计、百分位、频数分布与相关性,零依赖纯函数确定性输出

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-tool-stat

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add github:omdsh-dev/dsh-toolkit#path:packages/dsh-tool-stat

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

常见问题

这个工具能直接读 CSV 或 JSON 文件吗?

不能。本工具不读取文件、不访问网络、不创建进程——你需要先用 dsh-tool-csv 把数据读出来,再用本插件对那组数算聚合;它只接收显式传入的有限数值数组。

输入数组里有 NaN 或 Infinity 会怎么样?

直接报错。校验层(src/validate.ts:42-48)逐元素检查 Number.isFinite,违规抛 stat: values[i] must be a finite number (got ...),错误信息带下标定位。-0 会被静默归一化为 0。

计算结果会不会出现 NaN 或 Infinity?

不会。所有数值结果在返回前再做一次有限数检查(src/describe.ts:74-80、src/correlation.ts:62-68),溢出时抛 stat: numeric-overflow 错误;canonical JSON 输出绝不含非有限值。

correlation 遇到零方差序列返回什么?

不是 NaN 也不是 ±Infinity,而是结构化对象:defined: false, value: null, reason: "zero-variance"(src/correlation.ts:58-60)。这让你在提示词里能直接处理"无定义"语义,而不是被非有限数坑到。

一次能算多少数据?百分位请求有上限吗?

values 长度 1..100000(src/validate.ts:17);单次 percentile 最多 100 个百分位(src/validate.ts:19);frequency distinct 项最多输出 10000,超出按 count 降序→value 升序截断(src/frequency.ts:35-47);工具 timeoutMs 2000(src/index.ts:104)。

跟 calculator 工具怎么分工?dsh-tool-csv 的 stats 不是已经有了吗?

calculator 只能对单条表达式求值(算不出分布或相关系数);dsh-tool-csv 的 stats 只报告行列结构而非对一组观测值做统计聚合。本插件填补了"对一组数值数组做描述/分位/频数/相关"这一档。

安装到 web profile 后 dsh run 能直接用吗?

不能。web 与 headless 是两个独立 profile,本插件需要在 headless(dsh run 默认)里也单独装一次;README 也明确"web 安装不会自动覆盖 headless"。

输出里的 sample 字段是什么意思?

控制方差分母:false(默认)= 总体方差(n 分母),true = 样本方差(n-1 分母);describe 与 correlation 的 variance/standardDeviation 都按此口径计算。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: >=0.0.1-rc.1(已在 0.1.0-rc.8 验证)
  • Node: >=22.19.0
  • Platforms: 跨平台

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则