Skip to content

1.3 数据分析软件 ​

本节目标

读完本节后,你能根据研究问题、数据结构、团队能力和复现要求选择分析软件,并建立一套从原始数据到表图与报告都可追踪的项目流程。

1.3.1 先选工作流,再选软件 ​

不存在对所有研究都“最强”的软件。选择时先回答四个问题:

  1. 主要模型是什么,软件能否直接估计并提供所需诊断?
  2. 数据有多大、是否需要清洗、文本处理或自动化?
  3. 合作者、导师和审稿人需要读取什么格式?
  4. 半年后能否从原始数据重新生成同一份结果?
工具适合优势主要边界
SPSS常规描述、差异、回归与教学图形界面直观,社会科学团队常见只保留点击记录难以审计;高级模型依模块和许可而异
jamovi / JASP入门教学、常用检验、快速复核免费、图形界面、输出清晰模块覆盖和细节控制有限;复杂流程仍需代码
R统计建模、可视化、可复现报告统计生态完整,包与文档丰富包版本、公式接口和数据类型需要主动管理
Python数据清洗、自动化、文本、机器学习通用编程生态,易接入数据管道传统统计流程分散在多个包;默认输出未必包含完整推断信息
Stata面板、调查、因果推断与计量工作流命令体系稳定,结果管理成熟商业许可;部分扩展命令需单独安装和记录版本

一个常见且实际的组合是:用 SPSS、jamovi 或 JASP 学会读输出;用 R 完成统计建模和作图;数据工程、文本或自动化任务再引入 Python。团队已有稳定的 Stata 工作流时,不必为了“更流行”强行迁移。

1.3.2 图形界面也要留下可重放记录 ​

点击菜单本身不是问题,无法知道点过什么才是问题。

  • SPSS 分析对话框尽量点击 Paste 保存 syntax,再运行语法;
  • jamovi 与 JASP 保存完整项目文件,同时记录软件与模块版本;
  • R、Python 与 Stata 把清洗、模型、表格和图形写进脚本;
  • 不把复制到 Word 的最终表格当作唯一分析记录。

理想交付物不是“一个能打开的输出文件”,而是从只读原始数据到最终结果的完整路径。

1.3.3 建立最小可复现项目 ​

推荐从下面的结构起步:

text
project/
  README.md          # 研究问题、运行顺序、软件版本
  data-raw/          # 原始数据,只读,不手工覆盖
  data-derived/      # 脚本生成的分析数据
  code/              # 清洗、分析、作图脚本
  output/            # 脚本生成的表、图与模型摘要
  docs/              # 代码本、预注册、报告草稿

最低规则有六条:

  1. 原始数据只读;清洗结果写入新文件;
  2. 每个变量在代码本中说明含义、取值、缺失编码和单位;
  3. 运行顺序写进 README 或单一入口脚本;
  4. 随机抽样、模拟和随机初始化显式设置随机种子;
  5. 记录软件、包、模块和操作系统版本;
  6. 表格与图形由脚本生成,不在导出后静默手改数值。

文件名使用稳定、可排序的规则,如 01_import、02_clean、03_model。路径使用项目相对路径,不写只在自己电脑成立的盘符和用户名。

1.3.4 环境与版本如何锁定 ​

同一段代码在包版本变化后可能出现不同默认值、警告或输出格式。版本记录至少包括:

  • R:R 版本、包版本;项目可用 renv 保存依赖快照;
  • Python:Python 版本与环境依赖;可用 conda、venv 配合锁定的依赖文件;
  • Stata:Stata 版本,并在 do-file 中使用适当的 version 声明;
  • SPSS:产品版本、扩展模块,以及生成输出所用的 syntax;
  • jamovi / JASP:应用版本、模块名称与版本。

环境文件不是装饰。换一台电脑或交给合作者时,应实际从空环境恢复一次。若依赖外部软件、私有数据或手工步骤,README 要写清获取方式和不可复现部分。

1.3.5 任何软件都不能替代统计判断 ​

按按钮前,先写出分析对象:

要素必须回答
研究问题比较、关联、预测、测量还是因果效应?
变量结果、预测变量、处理、协变量各是什么类型?
观测结构独立、配对、重复测量、嵌套、聚类还是时间序列?
估计目标均值差、标准化差、相关、回归系数、比值比还是其他量?
假设与边界模型依赖哪些分布、独立性、线性、测量或设计条件?
不确定性标准误、置信/可信区间与样本量依据是什么?
诊断缺失、异常、残差、影响点、收敛和敏感性如何检查?

软件给出的 p 值不会自动说明效应是否重要,也不会把观察性关联变成因果效应。报告时至少给出估计值或效应量、不确定性区间、关键诊断与适用边界;具体方法见 第 3 章统计。

1.3.6 新手的选择路径 ​

从任务反推工具

  1. 只做常见检验且团队使用 SPSS:用 SPSS,但从第一天保存 syntax。
  2. 想用免费图形界面理解统计输出:从 jamovi 或 JASP 起步,并保留项目文件。
  3. 需要可复现统计、复杂模型或投稿级作图:优先学习 R。
  4. 需要文本、抓取、自动化或机器学习管道:在统计判断明确后使用 Python。
  5. 团队以面板、调查或计量分析为主且有许可:沿用 Stata 的 do-file 工作流。
  6. 无论选什么,用一份小型模拟数据跑通“导入—清洗—模型—表图—报告”后再上正式数据。

迁移软件时不要只比较“显著/不显著”。用同一份数据逐项比较样本量、缺失处理、对比编码、参考组、估计方法、自由度、标准误类型和区间。结果不同通常来自默认设置或数据处理差异,应先定位差异再解释模型。

1.3.7 交付前的复现检查 ​

  • 从项目副本或空环境按 README 重新运行;
  • 确认脚本没有依赖临时对象、绝对路径或手工点击;
  • 对照代码本检查样本筛选、反向计分和缺失编码;
  • 确认正文中的样本量、效应量、区间和图表来自当前输出;
  • 保存运行日志、警告与未解决的诊断,而不是只留“漂亮结果”;
  • 删除或脱敏共享包中的个人信息、密钥和受限数据。

本页软件入口与官方文档核查日期为 2026-08-18。许可、模块和界面会更新,安装与功能范围以软件官方说明及本校许可为准。

资源与工具 ​

延伸阅读 ​