Install
openclaw skills install @yunyue619/questionnaire-quality-checker对心理学问卷数据进行可复现的数据质量筛查,检查缺失比例、非法或超范围值、量表内直线作答和极端作答模式,并生成逐样本标记报告。当用户说“检查问卷数据质量”“筛查无效问卷”“检查直线作答”“检查异常作答”“questionnaire quality check”“screen invalid responses”或要求对多个不同计分范围的量表进行基础质量控制时使用。适用于 CSV 格式的心理学问卷数据。
openclaw skills install @yunyue619/questionnaire-quality-checker对心理学问卷数据进行基础、透明、可复现的数据质量筛查。
本 Skill 的目标是标记需要人工复核的样本,而不是根据单一指标自动删除被试。
适用于包含一个或多个 Likert 量表的 CSV 数据,例如:
不同量表可以设置不同的合法取值范围。
确认数据与配置
运行筛查脚本
python scripts/questionnaire_quality_checker.py <数据.csv> --config <配置.json>
如需保存完整 JSON 报告:
python scripts/questionnaire_quality_checker.py <数据.csv> --config <配置.json> --output report.json
逐题检查:
任何异常值都应报告具体变量和值。
计算每位被试在所有已配置题目中的缺失比例。
默认规则:
> 20%:标记为 high_missingness该阈值可以在配置文件中修改。
如果某个量表达到最少有效答题数后,所有有效回答完全相同,则标记:
straightlining:<scale_name>
默认要求至少有 4 个有效回答后才判断直线作答。
在单个量表内,计算有效回答中选择该量表理论最小值或最大值的比例。
如果:
极端值比例 >= 配置阈值
则标记:
extreme_response:<scale_name>
默认阈值为 90%。
极端作答本身不能证明样本无效,只表示需要结合研究情境进一步核查。
脚本输出 JSON,包括:
Agent 应将结果整理为简洁报告,例如:
# Questionnaire Quality Report
## Overall
- Total respondents: 200
- Flagged respondents: 18
- Flagged rate: 9.0%
## Flag summary
| Criterion | N |
| --- | ---: |
| high_missingness | 5 |
| out_of_range | 2 |
| straightlining:Scale_A | 8 |
| extreme_response:Scale_B | 6 |
## Respondents requiring review
| ID | Flags | Details |
| --- | --- | --- |
| P013 | straightlining:Scale_A | all valid answers = 4 |
| P087 | out_of_range | B3 = 8, legal range 1–7 |
## Interpretation
这些标记用于数据质量复核,不应直接等同于“无效问卷”。
示例:
{
"id_column": "id",
"missing_tokens": ["", "NA", "N/A", "null", "."],
"criteria": {
"max_missing_prop": 0.2,
"straightline_min_answered": 4,
"extreme_prop_threshold": 0.9
},
"scales": [
{
"name": "Scale_A",
"items": ["A1", "A2", "A3", "A4", "A5"],
"min": 1,
"max": 5
},
{
"name": "Scale_B",
"items": ["B1", "B2", "B3", "B4"],
"min": 1,
"max": 7
}
]
}