命令行和 JavaScript¶
参考分析器是 npm 包 @lydite/analyzer(需要 Node.js 20 或更新版本)。它在本地运行,不上传任何东西。
命令行¶
npx @lydite/analyzer responses.csv --out results/
这会把 lydite_results.csv、lydite_fields.csv、lydite_report.html 和 lydite_methods.txt 写入
results/。
| 选项 | 用途 |
|---|---|
--out <dir> |
输出目录(默认:当前目录) |
--id <column> |
受访者 ID 列(默认自动识别,例如 ResponseId、participant_id、PROLIFIC_PID、subject) |
--map <fieldId=column> |
字段名与 fieldId 不同时,指定该字段的回答列(可重复) |
--require <column> |
必须带有完整性数据的回答列(可重复) |
--key-var <column> |
用于敏感性分析表的结果变量(可重复) |
--weak-outcome <class> |
只有弱证据时的类别:human_likely(默认)或 review |
--single-medium <class> |
恰好有一个中等原因时的类别:review(默认)或 human_likely |
--title <text> |
报告标题 |
--require 告诉分析器,这一列中的回答旁边应该有完整性数据。如果有回答但缺少载荷(例如 JavaScript 被拦截),
该受访者会得到 LYD-TELEMETRY-MISSING 和类别 insufficient_data。
JavaScript¶
import { readFileSync } from 'node:fs';
import { analyzeText, resultsCsv, summarize, methodsText } from '@lydite/analyzer';
const results = analyzeText(readFileSync('responses.csv', 'utf8'), { requiredColumns: ['Q1'] });
console.log(summarize(results));
console.log(methodsText(summarize(results), { preregistered: true }));
analyzeText 接受与命令行相同的选项。你还可以传入 rules 来覆盖个别阈值;如果你给采集器提供了自己的词表,
还要传入 canaryWords。结果与 R 和 Python 包逐字节一致。