1  课程资源

📺 点击查看本章幻灯片 (Slides)

2 什么是数据采集

想象一下:你正在研究一片亚热带森林中树木的多样性如何影响土壤碳储量。你需要知道哪些树种生长在哪里、土壤中有多少有机碳、降雨量如何变化……这些信息不会凭空出现——你需要采集数据

数据采集(Data Collection)是科学研究的起点,指的是通过系统化的方法获取研究所需信息的过程。没有高质量的数据,再精妙的统计模型也无法得出可靠的结论。

2.1 为什么数据采集如此重要?

在生态学研究中,有一句广为流传的话:

Garbage In, Garbage Out(垃圾进,垃圾出)

如果采集到的数据本身存在偏差、遗漏或错误,后续的清洗和分析都无法弥补。数据采集的质量直接决定了研究结论的可信度。

2.1.1 一个真实的例子

2005 年,一项发表在顶级期刊上的生态学研究声称发现了生物多样性与生态系统功能之间的强正相关关系。然而,后续研究者在尝试复现时发现,原始数据的采集方案存在系统性偏差——样方的选择并非随机,而是倾向于选择物种丰富的区域。这一采集偏差导致了结论的不可靠。

这个案例告诉我们:数据采集不是简单的”收集数据”,而是需要严格设计的科学过程。

2.2 数据采集的基本类型

根据数据的来源和获取方式,我们可以将数据采集分为以下几类:

类型 描述 生态学示例
野外观测 在自然条件下直接观察和记录 样方调查、鸟类计数、物候观测
控制实验 在受控条件下操纵变量并测量响应 温室实验、养分添加实验
问卷调查 通过结构化问题收集人类行为或认知数据 农户土地利用调查
仪器监测 使用传感器或仪器自动记录数据 气象站、通量塔、水质监测
公共数据库 从已有的开放数据平台获取 WorldClim、GBIF、中国生态系统研究网络
网络采集 通过 API 或爬虫从互联网获取数据 遥感影像下载、文献数据提取

本课程将在后续章节中逐一深入讲解这些方法。

2.2.1 数据的基本形态

采集到的数据通常以结构化的格式存储。以下是三种最常见的数据格式:

CSV(逗号分隔值)

最简单、最通用的表格数据格式,几乎所有软件都能读取:

plot_id,species,count,date
P001,马尾松,12,2027-03-15
P001,杉木,8,2027-03-15
P002,马尾松,5,2027-03-16

JSON(JavaScript 对象表示法)

适合存储嵌套结构的数据,常见于 API 返回结果:

[
  {
    "plot_id": "P001",
    "species": "马尾松",
    "count": 12,
    "date": "2027-03-15"
  },
  {
    "plot_id": "P001",
    "species": "杉木",
    "count": 8,
    "date": "2027-03-15"
  }
]

XML(可扩展标记语言)

结构严谨,常用于配置文件和数据交换:

<survey>
  <record>
    <plot_id>P001</plot_id>
    <species>马尾松</species>
    <count>12</count>
    <date>2027-03-15</date>
  </record>
</survey>
Tip格式选择建议
  • 表格数据优先使用 CSV:简单、通用、体积小
  • 嵌套或半结构化数据使用 JSON:灵活、可读性好
  • 需要严格校验的场景使用 XML:有 Schema 验证机制

2.3 数据采集的基本原则

无论使用哪种采集方法,都应遵循以下原则:

2.3.1 1. 明确研究问题

在采集数据之前,先回答:我需要什么数据来回答我的研究问题? 避免”先采集再想用途”的做法。

2.3.2 2. 制定采集方案

包括:采样设计(随机、分层、系统)、样本量确定、变量定义、记录格式等。

2.3.3 3. 保证数据质量

  • 使用标准化的记录表格或电子设备
  • 培训采集人员,减少人为误差
  • 设置质量控制检查点(如重复测量)

2.3.4 4. 记录元数据

元数据(Metadata)是”关于数据的数据”,包括:

  • 采集的(采集人员)
  • 何时采集的(日期、时间)
  • 何地采集的(经纬度、海拔)
  • 如何采集的(方法、仪器、精度)
  • 为何采集的(研究目的)

没有元数据的数据就像没有标签的样品瓶——三个月后你可能完全不记得它是什么。养成记录元数据的习惯,是可重复性研究的基础。

2.3.5 5. 确保可重复性

详细记录采集过程,使其他研究者能够在相同条件下重现你的数据采集。这包括:

  • 使用版本控制(Git)管理数据和代码
  • 采用通用数据格式(CSV、JSON)
  • 公开数据和采集方案

2.4 本课程的数据采集路线图

本课程将按照以下路径,带你从零开始掌握数据采集与预处理的完整流程:

第一单元:绪论与环境搭建
  ├── 什么是数据采集(本章)
  ├── 什么是数据预处理
  └── 研究环境搭建

第二单元:R 语言编程基础
  ├── R 语言入门
  ├── 数据整理(dplyr/tidyr)
  └── Git 协作

第三单元:数据采集方法
  ├── 观测 → 实验 → 模型 → 公共数据
  ├── 荟萃分析
  └── Python 网络采集

第四单元:数据预处理
  ├── 数据清洗
  ├── 特征工程
  └── 数据质量评估

第五单元:数据可视化与探索性分析

第六单元:实战项目

2.5 课后思考

  1. 回顾你自己的研究课题,列出你需要采集哪些类型的数据?
  2. 你目前的数据采集方案中,是否记录了完整的元数据?
  3. 如果另一位同学要复现你的数据采集过程,他/她能做到吗?缺少什么信息?