跳转至

命令行和 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 包逐字节一致。