Community研究與資料分析github.com

lybxkl/实证研究数据流水线

将任意研究资料(PDF、Word、Excel、CSV、文本、网页、访谈稿、图片、数据库导出等)转化为可审计的数据集、统计模型、SPSS 风格图表与论文成稿。先做资料完整性、去重与字段质量审计,再按 codebook 编码或抽取,生成 CSV/SAV、跑描述统计与回归、制作 600 dpi 出版级图表,最后组装 Word/PDF 并做数字一致性质检。

实证研究数据流水线 是什麼?

此 Skill(即「实证研究数据流水线」)是为需要将杂乱研究资料系统化、可审计、可复现的研究者与 AI 代理设计的完整工作流。它涵盖从原始资料目录到最终论文成稿的全过程:首先对任意类型的文件(PDF、DOCX、XLSX、TXT、图片等)进行严格审计,包括完整性、去重和字段质量检查;然后根据预定义的 codebook 或自动抽取协议,将文本或表格数据编码为结构化数据集(CSV/SAV);接着执行描述统计、回归模型(Logistic、OLS 等)并自动生成高质量出版图表(600 dpi);最后组装 Word 或 PDF 论文,并对全文的数字一致性进行质检。该 Skill 支持多种学科和研究类型(问卷、访谈、实验、二手数据等),并强制遵循六条硬性规则(如先审计再建模、按内容去重、每个编码有证据等),确保分析透明、可追溯。它主要集成在 Claude Code、Cursor 等环境中,通过一系列 Python 脚本和模板实现流水线自动化。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lybxkl/SPSS-Style-Charting-Skill/tree/HEAD/empirical-research-pipeline

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

實證研究數據流水線

把「一堆雜亂資料」變成「可覆核的樣本流程 + 可追溯的編碼/欄位數據 + 可複現的模型 + 可投稿的圖表與文稿」。本 skill 不限定學科、語言或檔案格式;法律裁判文書只是「文字編碼」的一個範例,問卷、訪談、新聞、政策文件、實驗記錄、開放數據、網頁和資料庫匯出同樣適用。

本倉庫/套件內的範例數字、檔案名稱、路徑與變數值均為虛構佔位,不含任何真實資料、編碼數據、SPSS 數據或論文成稿。

何時使用

  • 使用者給了一個資料夾,裡面混有 PDF、Word、Excel、CSV、文字、網頁、訪談稿、圖片或掃描件,要求整理、編碼、統計、出圖或寫成論文。
  • 已有 CSV/SPSS 資料,需要清洗、合併、追加新資料、修正樣本口徑或重跑模型。
  • 問卷、訪談、實驗、觀察、公開資料等需要敘述統計、組間比較、迴歸、異質性、穩健性或預測評估。
  • 需要把實證部分做成 Word/PDF,且圖、表、正文數字必須一致。
  • 使用者說「類似資料還要再做一遍」,希望重複同一套流程。

資料類型與處理邊界

資料原生處理說明
PDF文字層、頁數、字元數、圖片數、加密狀態掃描件先 OCR;圖片型 PDF 會被標記 image_only
DOCX / ODT / PPTX段落、表格、投影片文字.doc/.ppt 舊格式先轉換
XLSX / XLSM工作表、儲存格文字;唯讀開啟.xls 先轉換;建議安裝 openpyxl
CSV / TSV / JSON / JSONL欄位、行數、編碼、缺失;資料表品質稽核編碼工作表會跳過表格,直接走 auto_stats
TXT / MD / HTML / XML / YAML / RTF純文字抽取;HTML 去標籤網頁正文可用,腳本/樣式會被去掉
圖片(PNG/JPG/TIFF 等)檔案清單;尺寸/頁數先 OCR,再進入編碼;本 skill 不自帶 OCR
音訊/視訊檔案清單先轉寫/抽幀,再進入編碼;本 skill 不自帶 ASR
壓縮檔檔案清單先解壓縮;稽核會標記 unsupported
未知/專有格式檔案清單先轉換或匯出為上述格式

「任何資料」不等於「任何二進位都能直接解析」。本 skill 會先把所有檔案納入稽核和樣本對帳;不能直接讀的格式會明確標記並給出轉換路徑,不會靜默漏掉。

六條硬規則

  1. 先稽核,再編碼/建模。 沒弄清檔案數、可讀文字數、重複數、欄位缺失和排除原因之前,不要開始統計。
  2. 按內容去重,不按檔名。 同名不同文、同文不同名都很常見;至少用 MD5,再用標題/關鍵欄位/正文抽樣覆核。
  3. 一行 = 一個分析單位。 文書、受訪者、案件、機構、地區-年份或問卷答卷,必須在項目開始時寫死;多單位混合時在限制中說明。
  4. 每個編碼/抽取的值要有證據。 原文沒有記載就記 NA/未記載,不要預設記 0;否定表述、他人建議、轉述不能當作最終事實。
  5. 描述樣本 N ≠ 模型樣本 N。 每個模型個別報告 N 和篩選條件;正文、表、圖、摘要必須用同一套口徑。
  6. 關聯 ≠ 因果。 寫「關聯/對應/更可能」,不寫「導致/使得/證明有效」。

流程總覽

0 範圍與問題 → 1 資料/數據稽核 → 2 編碼或抽取協議 → 3 資料集
                                      ↓
                         7 終檢 ← 6 文稿組裝 ← 5 出版級圖表 ← 4 統計分析

每個階段都有「閘門」。閘門不過,不進入下一階段。


階段 0:範圍與問題

先寫一頁 scope.md,至少包含:

  • 研究問題、理論機制、預期貢獻。
  • 資料類型與來源:資料庫、檢索式/抽樣框、時間範圍、語言、地區。
  • 分析單位:一份文件/一名受訪者/一個案件/一個機構/一份問卷。
  • 納入/排除標準:時間、類型、語言、字數、重複、無法讀取、關鍵欄位缺失。
  • 預期變數清單與角色:依變數、核心自變數、機制/調節變數、控制變數。
  • 資料型態:文字、表格、混和;是否需要人工編碼、問卷量表、實驗分組或二手資料。

閘門:能用一句話說清「原始資料 → 可讀資料 → 範圍內樣本 → 分析樣本」的每一步會掉多少、為什麼掉。


階段 1:資料與數據稽核(必須先跑)

1A 檔案層級稽核

執行 scripts/audit_corpus.py:

python scripts/audit_corpus.py --root "資料目錄" --out-dir "output/audit" --min-chars 100

預設掃描所有支援的類型,不需要逐個寫 --ext;可用 --list-ext 查看完整列表。它會輸出:

檔案用途
corpus_audit.csv每份檔案的副檔名、類型、位元組數、頁數/表數、字元數、圖片數、MD5、狀態、錯誤
corpus_summary.json機器可讀的彙總
corpus_duplicates.csv重複組、保留/移除建議
corpus_report.md可直接貼進專案日誌的中文報告

狀態機(每份檔案必須落入一類):

狀態含義是否進入分析
valid可開啟、有足夠文字/資料是
metadata._*、.DS_Store 等系統檔案否
hidden隱藏檔案/隱藏目錄否,除非使用者確認
unsupported未知格式、壓縮檔、舊版 Office、缺少解析器否,先轉換/解壓
quarantined位於 _duplicates 等跳過目錄否,已隔離副本
zero_byte0 位元組否
corrupt打不開、檔案損毀否
encrypted有密碼/權限限制否,除非能解密
textless有頁面/儲存格但文字不足否,檢查是否空檔案或需重匯出
image_only圖片/掃描件,無文字層OCR 後可用
media音訊/視訊先轉寫/抽幀

重複不是獨立的 status:內容相同的檔案仍是 valid,另用 dup_group/dup_role 標記 keeper/duplicate;報告中的 unique_valid_files 已扣除副本。

必須逐項處理:

  • ._*、.DS_Store:macOS 元資料,不是研究資料;計入「非資料檔案」,不要計入樣本。可讀的 ._* 會在 error 欄標註,需人工確認。
  • 隱藏檔案/目錄記為 hidden;副檔名不在支援列表的記為 unsupported;_duplicates 等跳過目錄記為 quarantined。三者都不進樣本,但必須出現在總數和報告裡。
  • 0 位元組、打不開、加密、文字不足:分別記錄為 zero_byte / corrupt / encrypted / textless;圖片型 PDF 記為 image_only。
  • 頂層/年份分布只統計唯一樣本(valid 且非副本);不要把元資料、損毀檔案或重複副本算進樣本結構。
  • 重複副本:按 MD5 分組;保留「檔名含標識/年份、路徑更短、文字完整」的那一份,其餘移動到 _duplicates/,不要直接刪除。
  • 檔名截斷、尾隨點、超長路徑:Windows 下常見;用 Python 讀取並在報告中記錄,不要靠檔案總管手工數。
  • 同名不同文、正文相同但元資料/匯出設定不同(MD5 不同):必須按標題/關鍵欄位/正文抽樣人工覆核,不能只靠 MD5 自動去重。

然後執行 scripts/dedupe_corpus.py 生成去重計畫:

python scripts/dedupe_corpus.py --audit "output/audit/corpus_audit.csv" --root "資料目錄" --out-dir "output/audit" --apply

閘門:sample_flow.md 能對帳:

原始檔案數(含 .DS_Store/無副檔名檔案)
- 元資料/隱藏檔案
- 不支援/需轉換(unsupported)
- _duplicates 等隔離目錄(quarantined)
- 0 位元組/損毀/加密/文字不足
= 可讀資料數
- 不在範圍(時間/類型/語言)
= 有效資料數
- 重複副本
= 唯一樣本數(按 unique_valid_files)
- 關鍵變數缺失/無法編碼
= 分析樣本數

每個模型再有單獨的 N,不要用一個 N 打天下。

1B 表格資料品質稽核

如果資料本身是 CSV/Excel/SPSS 資料,先做欄位層級檢查,再編碼/建模:

  • 行數、列數、每列類型(數值/分類/文字/日期)、缺失率、唯一值數。
  • 主鍵/ID 是否唯一;重複行;同一單位多次記錄。
  • 分類變數取值是否拼寫不一致(「是/否/1/0/TRUE」混用);日期範圍。
  • 連續變數範圍、異常值、P99 截斷、是否需要 log 轉換。
  • 問卷量表反向題、多選拆分、單位一致性。
  • 編碼(UTF-8-SIG/GB18030)、小數分隔符、SPSS 變數名合法性。

csv_to_spss_syntax.py 會清理非法/重複變數名並生成 .sps;auto_stats.py 會給出敘述統計、組間檢驗和相關,用於發現資料問題,但不替代正式模型。

閘門:能說清每一欄的來源、類型、缺失處理、異常值處理和最終進入哪個模型。


階段 2:編碼/抽取協議

2.1 文字編碼

  1. 先寫 assets/codebook-template.md 的實例:每個變數都要有定義、取值、判斷規則、證據位置、正例、反例、缺失規則。
  2. 用 scripts/make_coding_sheet.py 抽取全文和候選證據句,生成編碼工作表;它只提供證據片段,不替你做最終判斷。
    • 預設 --profile generic:適用於訪談、新聞、政策、報告、網頁、會議記錄等任意文字資料。
    • --profile legal:額外抽取法院、案號、省份、案由候選;只在處理中國裁判文書時使用。
    • CSV/TSV/JSON/XLSX 等表格會跳過並提示走統計流程;圖片/音視訊會提示先 OCR/轉寫。
  3. 人工/LLM 編碼時,每條記錄至少儲存 *_ev 證據句;沒有證據句的編碼視為未完成。
  4. 抽 10%–15% 資料雙人/雙輪編碼,報告一致率或 Cohen's κ;分歧先裁決再改 codebook。
  5. codebook 凍結後再全量編碼;後續改動要記錄版本與影響範圍。

2.2 問卷/量表/結構化抽取

  • 先做專案層級變數字典:題號、題幹、取值、反向題、缺失碼。
  • 多選/排序題拆成 0/1 或多欄;量表總分先檢查信度(α/ω)和維度。
  • 開放式題項可先主題編碼,再轉成計數/類別變數;不要直接把詞頻當主題。
  • 表格資料的主鍵、單位、時間欄位必須能回溯到原始檔案。

閘門:隨機抽 10 條,能從「編碼值 → 證據句/原始欄位 → 原文/原始行」完整回溯;否則回到編碼表修規則。

詳見 references/02-coding-protocol.md。


階段 3:資料集

推薦三件套:

  • data/coded.jsonl:逐份資料編碼明細 + 證據片段,便於回溯。
  • data/analysis.csv:分析用寬表,一行一個分析單位。
  • data/analysis.sav:SPSS 直接開啟,帶變數標籤/值標籤。

必須包含的標記欄:

欄位含義
in_scope是否屬於研究範圍(時間、類型、地區、語言)
in_analysis是否進入敘述統計(排除無法編碼/關鍵缺失)
model1_sample 等每個模型單獨的樣本標記;不要用 in_analysis 代替
dup_group重複組 ID;保留份為 0,副本為 1
exclusion_reason排除原因,便於寫樣本流程

用 scripts/csv_to_spss_syntax.py 生成 .sps,避免手寫 GET DATA 時欄類型錯位。CSV 裡若是「是/否、有/無、支持/不支持」等二值文字,腳本會自動追加 RECODE ... ('是'=1) ('否'=0) INTO *_num,Logistic 直接用數值欄;不需要時加 --no-recode。

閘門:CSV 行數、JSONL 行數、SAV 行數、sample_flow.md 的唯一樣本數四者能對上;每個模型 N 能從篩選條件重算。


階段 4:統計分析與擴展

先寫分析計畫,再看結果。預設做「主分析 + 描述 + 雙變數 + 多變數 + 診斷 + 異質性 + 穩健性」的組合,而不是只跑一個主模型。

先用自動篩查腳本把敘述統計、組間檢驗、相關和單變數模型跑一遍:

python scripts/auto_stats.py --data data/analysis.csv --config assets/chart_config.example.json --out output/analysis_pack

它輸出 descriptives.csv、group_tests.csv、binary_rates.csv、correlations.csv、univariate_models.csv、univariate_skipped.csv 和 analysis_pack.md,用於發現值得進一步建模的變數;最終模型仍按預設定規格在 SPSS/R/Stata 中估計,不要用自動篩查的 p 值篩變數。

腳本會自動識別結果變數類型:

  • 0/1 → 二元結果(Logistic/OR)。
  • 連續數值 → 連續結果(OLS/均值+CI),多分類時組間檢驗用 Kruskal–Wallis。
  • 多分類 → 分類結果,組間用卡方/Cramér's V;多分類自變數會用啞變數進入單變數 OLS/Logit,並以 變數_水平 形式報告。
  • 多分類結果本身不做二分類 Logit;主模型應改用多項 Logit 或先合併類別。
  • 「是/否、有/無、支持/不支持」等常見文字標籤會自動映射為 0/1;其他二值文字必須用設定項 outcome_map 指定正類。
  • 完全分離、估計不穩定的單變數模型會寫入 univariate_skipped.csv,不會給出虛假的巨大 OR。
  • 結果欄全缺失、過濾後 0 行、filter_query 拼錯時直接報錯退出。

最少包含:

  • 敘述統計:每個分組的 N、佔比/均值、結果率、95% Wilson CI。
  • 主模型:二元 Logistic / OLS / 多項 Logit,寫清依變數、參照組、核心自變數、控制變數。
  • 機制/調節模型:交互項、簡單斜率或分組預測值。
  • 穩健性:替換依變數、替換樣本、加入/移除控制變數、去重前後。
  • 診斷:多重共線性、完全分離、樣本量不足的儲存格、校準/區分度。
  • 異質性:分類別/分地區/分年份/分群體。
  • 能做的探索:PCA、對應分析、聚類、預測 ROC/校準;標註「探索性」。

報告表至少要有:係數/OR、95%CI、p、N、擬合指標、參照組說明。每個模型單獨一行 N。

把做過的和跳過的分析寫進 analysis_manifest.md(模板見 references/08-analysis-expansion.md),不要只報顯著結果。

SPSS 語法模板與解釋規範見 references/03-analysis-spss.md;擴展分析清單見 references/08-analysis-expansion.md。

閘門:任意一個 OR/β 都能從 analysis.sps → 輸出檔案 → 表格 三段追溯;analysis_manifest.md 能解釋每個分析做/不做、樣本多少;正文沒有把「文字裡寫了某情況」寫成「實際產生了某效果」的因果結論。


階段 5:出版級圖表(預設做全景,不是只畫 8 張)

先跑 scripts/auto_chart_pack.py 生成全景圖表包,再從中挑正文主圖、附錄圖和需要補畫的模型圖:

python scripts/auto_chart_pack.py \
  --data data/analysis.csv \
  --config assets/chart_config.example.json \
  --out output/chart_pack --tiff

連續/多分類結果不需要改腳本:結果變數會自動切換為「結果分布 + 分組均值/構成」圖;文字結果同樣可用 outcome_map 指定編碼。--coef 支援 metric(OR/HR/RR/beta)與 n 欄,森林圖會按模型樣本量寫 N;--pred 支援 0/1 或「是/否」標籤,常數預測/單一類別會跳過 ROC/PR/校準並寫明原因。term_labels 可把 lv3 這類模型項名映射為中文。雙比例啞鈴圖需在 config 裡用 dumbbell 指定兩個 0/1 欄。有追蹤時間與事件欄時,用 --survival-time、--survival-event(可加 --survival-group)生成 Kaplan–Meier 曲線。

預設覆蓋 7 組,常規約 40–55 張:二分類約 44 張,帶模型輸入約 51 張;連續約 42 張、多分類約 41 張。欄類型、缺失和跳過項會使數量浮動;實際數量以 chart_manifest.csv 為準。

  • A 資料品質:缺失率、樣本類別/年份/地區、二元變數發生率。
  • B 單變數:結果分布(二分類/連續/多分類分別處理,連續結果加 Q-Q)、處理構成(長條+環形)、數值分布、類別構成。
  • C 雙變數:類別×結果、階段×結果、類別×階段熱圖/堆疊、地區/審級差異、相關熱圖、散點擬合、氣泡圖;連續結果用均值+95%CI,多分類結果用組內構成堆疊圖。
  • D 多變數:提琴/箱線、散點矩陣、啞鈴圖、PCA 碎石/雙標圖/載荷熱圖、Ward 聚類樹狀圖、經典 MDS。
  • E 時間:結果率/均值趨勢、3σ 控制圖、樣本量、階段構成堆疊柱/面積;多分類結果加結果類別構成趨勢。
  • F 模型診斷:森林圖、ROC、校準、預測分布、混淆矩陣、PR 曲線、十分位 Lift(需 --coef / --pred);Kaplan–Meier(需追蹤欄)。
  • G 附錄:對應分析、Pareto。

出圖策略:

  • 每個主發現至少 2 張圖:主結果圖 + 穩健性/診斷/異質性圖。
  • 正文 7–10 張,附錄 20–50 張;圖數不設上限。
  • 每張圖先寫「回答什麼問題」;沒有問題就不畫。
  • 用 references/07-chart-atlas.md 選型,覆蓋 SPSS 常用進階圖形:叢狀/堆疊/100% 堆疊長條、線/面積、直方圖、箱線/提琴、誤差條、散點/氣泡、散點矩陣、Pareto、ROC、校準、Kaplan-Meier(有存活資料時)、碎石圖、因子載荷、聚類樹狀圖、對應分析、MDS、控制圖等。
  • 每張圖寫入 chart_manifest.csv:圖號、問題、類型、變數、N、圖註、檔案路徑。
  • 顏色語義全稿統一:同一階段/同一類別在每張圖裡用同一顏色。
  • 圖註寫清 N、資料來源、模型設定、參照組;探索性圖(PCA/CA/聚類)在圖註標明「探索性」。

用 scripts/pubfig.py 統一風格:

from pubfig import set_style, save_fig, wilson_ci, forest_plot
set_style()  # 15 cm 版心,宋體/Times New Roman,600 dpi

規範要點:

  • 物理寬度 15 cm(A4 正文 15.4 cm 內),字型大小 7.2–8.5 pt。
  • 中文宋體、西文 Times New Roman;PDF 字型嵌入(Type 42)。
  • 圖內不放標題;圖題、圖註在 Word 中排。
  • 同時輸出 PNG 600 dpi、向量 PDF、LZW TIFF(--tiff)。
  • 誤差線註明 95% CI;森林圖實心點=顯著、空心點=不顯著。
  • 偏態連續變數用 log10 或 P99 截斷,並在軸標籤/圖註註明。

閘門:chart_manifest.csv 中每張圖都有問題、N、圖註、檔案;正文主圖與附錄圖不重複;PDF 內嵌圖寬度 ≥ 3000 px(15 cm 寬時約 600 dpi);圖註、圖、正文引用三者齊全。

詳見 references/04-figures-publication.md 和 references/07-chart-atlas.md。


階段 6:文稿組裝

Word 排版要求:

  • 圖、圖題、圖註設定為「與下段同頁」,避免圖題分頁。
  • 表格行禁止跨頁斷開,跨頁重複表頭。
  • 表註在圖/表下方;先給 N,再給顯著性規則。
  • 正文首次引用圖/表時,編號與檔案一致(圖 1、表 1、附圖 1)。
  • 摘要、正文、表、圖、附錄的 N 和百分比全部同源;chart_manifest.csv 的 N 會回寫圖註。

Word 轉 PDF 時,Word 會把 600 dpi 圖壓到約 200 dpi。用 scripts/export_pdf_hires.py 匯出後回填原圖:

python scripts/export_pdf_hires.py --docx "manuscript.docx" --out-pdf "manuscript.pdf" --figure-map "figure_map.json"

閘門:PDF 頁數、圖數、圖題數一致;每張圖的內嵌寬度 ≥ 3000 px;表格沒有斷行/斷表頭。

詳見 references/05-manuscript-assembly.md。


階段 7:終檢

執行:

python scripts/qa_outputs.py --docx "manuscript.docx" --pdf "manuscript.pdf" --figures "figures" --data "data/analysis.csv" --audit "output/audit/corpus_audit.csv" --manifest "output/chart_pack/chart_manifest.csv" --strict

再按 references/06-qa-checklist.md 人工過一遍。重點不是格式,而是:

  • 樣本流程每一檔數字能對上。
  • 重複副本已從分析樣本移除,或明確報告未移除的影響。
  • 正文每個 N 與對應表/圖/模型一致。
  • 圖表與正文說的是同一個方向,沒有「圖上升、文說下降」。
  • PDF 中的圖註編號能識別「圖1:」「圖 1.」「Table 1:」等寫法;低解析度檢查只看圖幅足夠大的圖片;空 CSV 會直接報錯。
  • 理論編碼變數在方法部分說明來源,不寫成從原始資料直接測得。
  • 結論使用「關聯/對應」,不使用因果措辭。

腳本清單

以下命令假設目前目錄是 skill 根目錄;如果從專案目錄執行,把 scripts/ 換成 skill 的絕對路徑。

腳本作用
scripts/audit_corpus.py掃描任意資料目錄:檔案狀態、文字/頁數、MD5、重複、格式分布、年份提示
scripts/dedupe_corpus.py基於稽核結果生成去重計畫;--apply 移動到 _duplicates/
scripts/make_coding_sheet.py從 PDF/Word/PPT/HTML/文字抽取全文與關鍵詞證據句;--profile legal 才抽取法院/案號欄位
scripts/text_extract.py通用文字抽取與檔案檢查(PDF/DOCX/ODT/PPTX/XLSX/HTML/文字/圖片/音視訊)
scripts/analysis_utils.py內部共享函數:樣本篩選、結果類型識別、二值標籤編碼;由自動統計/圖表腳本匯入
scripts/csv_to_spss_syntax.py由 CSV 表頭生成 SPSS GET DATA 語法;清理非法/重複變數名並寫變數標籤
scripts/auto_stats.py自動敘述統計、組間檢驗、相關、單變數模型(多分類自變數啞變量化)、完全分離檢查
scripts/auto_chart_pack.py按欄角色自動生成約 40–55 張資料品質/分布/雙變數/聚類/時間/模型診斷/存活圖與 manifest
scripts/pubfig.py出版圖統一風格、Wilson CI、森林圖、熱圖、提琴、ROC/PR、PCA、MDS、聚類、KM、控制圖等 30+ 圖型
scripts/export_pdf_hires.pyWord→PDF 並回填 600 dpi 原圖
scripts/qa_outputs.py檢查 PDF 圖解析度、docx 圖表數量、空資料、重複鍵、manifest 的 N/圖註/路徑

參考文件

檔案何時讀
references/01-corpus-audit.md開始稽核、遇到重複/損毀/掃描件/多格式時
references/02-coding-protocol.md設計變數、寫 codebook、做信度檢驗時
references/03-analysis-spss.md設定模型、寫 SPSS 語法、解釋 OR 時
references/04-figures-publication.md畫圖、選顏色、匯出投稿檔案時
references/05-manuscript-assembly.md排 Word、轉 PDF、處理圖註時
references/06-qa-checklist.md投稿/交付前逐項檢查時
references/07-chart-atlas.md選圖型、對應 SPSS 進階圖形、確定圖表數量時
references/08-analysis-expansion.md主模型之外還要跑哪些分析、如何記錄做/不做時

模板

  • assets/scope-template.md:研究範圍、納入/排除標準、樣本流程骨架。
  • assets/codebook-template.md:變數編碼手冊骨架。
  • assets/figure-spec-template.md:圖註與製圖規格表。
  • assets/figure_map.example.json:Word→PDF 回填圖的映射範例。
  • assets/delivery-checklist.md:交付清單。
  • assets/coding-keywords.json:可替換的關鍵詞詞典(通用佔位範例)。
  • assets/chart_config.example.json:欄角色、標籤、分析樣本篩選(filter_query)範例。
  • assets/analysis-manifest-template.md:主分析/擴展分析/跳過項清單。

最常見的翻車點

  1. 把資料夾裡的檔案數直接當樣本量。 必須先扣掉元資料、損毀、重複、格式不支援、範圍外。
  2. 只按檔名去重。 同一內容常有「帶標識/不帶標識」「- 副本」「(2)」多個版本。
  3. 敘述統計 N 與模型 N 混用。 模型有缺失值、篩選條件,N 一定更小。
  4. 把「資料提到某情況」當成「實際發生了某結果」。 這是文字關聯,不是因果效應。
  5. Word 匯出的 PDF 看起來正常,圖其實只有 200 dpi。 必須回填並驗證內嵌圖像寬度。
  6. 只畫一張主結果圖。 分布、異質性、穩健性、診斷圖都沒畫,使用者只能反覆追問。
  7. 把引用/附件裡的內容當成主資料。 文書類型、報告類型、網頁導航等要按標題/正文結構判斷,不能只看全文關鍵詞。
  8. 結果是「是/否」文字卻直接當連續變數。 用 outcome_map 明確正類,或在 CSV 裡編碼為 0/1;腳本不會猜正負方向。
  9. 稽核只數某一種格式,靜默漏掉其他檔案。 所有檔案都要有狀態;total_files 要能和檔案總管對帳。
  10. 把表格資料塞進文字編碼。 CSV/Excel 直接走 auto_stats/SPSS 流程;文字編碼適合文件、訪談、網頁等非結構化資料。

相關技能