空间数据按区域汇总:先确定分组对象,再选统计方式
使用sf按区域汇总时,关键是明确待汇总对象、分组几何、空间匹配谓词和属性统计函数。先用小样本核对匹配结果,再确认几何是否需要合并,避免把空间分组口径藏在默认参数里。
若要把点位记录整理成区域级结果,可以用 `aggregate.sf()` 汇总sf对象。先把待汇总对象作为 `x`,把区域几何作为 `by`,再指定对属性列执行的统计函数 `FUN`。文档示例将点对象与多边形对象组合,并用 `mean` 汇总属性值。[1]
1. 明确谁被汇总、按什么分组
`by` 可以是分组向量,也可以是另一个sf或sfc几何对象。若按空间对象分组,默认 `join` 是 `st_intersects`;它定义了对象如何与区域建立对应关系。研究者应先确认这个空间关系是否符合自己的研究问题,例如点落入区域或对象与区域相交是否就是目标口径。[1]
2. 选择属性统计方式
`FUN` 是传给基础 `aggregate` 的函数。示例使用 `mean`,但真实研究中应根据变量类型和分析计划选择统计量,并在运行前确认缺失值如何处理。不要因为函数成功返回就认为分组定义或统计选择已经合理。
3. 检查几何和未匹配记录
`do_union` 默认为 `TRUE`,控制分组后的几何是否通过 `st_union` 合并;`simplify` 也会传给基础汇总函数。文档示例显示,与分组区域不匹配的对象可能在结果中出现 `NA`,因此汇总后应检查未匹配记录、每组记录数和结果几何。[1]
文档说明返回结果是sf对象,包含聚合后的属性与几何。它还特别指出,`aggregate()` 中涉及公式 `~` 的写法不适用于该sf方法;遇到这类写法时,应按该方法列出的参数形式组织调用,而不是照搬基础函数的公式例子。[1]
教学示例中的对象只是文档演示,不代表实际研究数据。正式分析前,记录区域定义、空间谓词、统计函数和几何合并设置,才能让汇总结果可复核。
完成前,再核对一遍
- □确认x是待汇总的sf对象,by是分组向量还是区域几何
- □核对join空间谓词与研究中的区域归属定义是否一致
- □说明FUN采用的统计量及其缺失值处理方式
- □检查未匹配对象、每组记录数和do_union设置
回到原始依据
引用支持的具体内容列于下方。访问来源不代表已获得全文或图片再分发许可。
- [1] aggregate(<sf>) ↗
sf官方空间数据处理文档 · 核对日期 2026-10-10
sf官方aggregate.sf文档列出x、by、FUN、do_union、simplify和join参数,说明返回sf对象,并给出点与多边形示例及公式语法限制。