GTOOLS 完整指南:一行命令让 Stata 分组聚合快 10 倍

📅 2026/8/21 19:43:26
GTOOLS 完整指南:一行命令让 Stata 分组聚合快 10 倍
GTOOLS 完整指南一行命令让 Stata 分组聚合快 10 倍【免费下载链接】stata-gtoolsFaster implementation of Statas collapse, reshape, xtile, egen, isid, and more using C plugins项目地址: https://gitcode.com/gh_mirrors/st/stata-gtoolsGTOOLS 是为 Stata 分组命令提供 C 插件加速的加速包。官方基准测试里1000 万样本下 reshape、isid、tabstat 等常见命令比原生 Stata 快 5 到 30 倍。它到底解决什么问题数据量到几百万行你就知道了collapse 跑十分钟isid 卡住不动tabstat 干等。瓶颈在于原生命令在 Stata 解释器里逐行处理。GTOOLS 的思路很直接先用哈希把数据分组再交给 C 插件在内存里直接算绕开解释器开销。所以提速不是微调出来的是换了条路。3 分钟从零跑通第一个命令不用看文档两步就够。安装一行搞定零配置ssc install gtools装完不需要任何额外设置插件已随包带齐各平台版本。验证 第一次 gcollapse装完敲一下这个看到结果就对了sysuse auto, clear * 载入示例数据74 辆车 gcollapse (mean) price mpg, by(foreign) * 按是否进口分组求均值 list * 出两行就对了输出应该是两行进口和国产车各自的平均价格和油耗。这就是 stata gcollapse 用法的标准形态——collapse 会写的就会写它只是快了一个量级。两个最值得记住的命令gcollapse —— 分组聚合需要按组压成一行的场合汇总、透视、搭面板记住这一行就够gcollapse (sum) price (nunique) id, by(city)统计量随你挑nunique、分位数、权重全都有比原生 collapse 功能更多也更快。gsort —— 大规模排序千万行数据按多个键排序原生 sort 的开销会成为瓶颈。gsort 比 sort 快而 GTOOLS 里的 hashsort 是它的快速实现一行hashsort -year city什么时候用它数据准备阶段先排一次序后面按时间、按分组的命令全都受益。踩坑清单⚠️strL 变量gcollapse、gcontract、greshape 不支持 strL 变量Stata 14 起仅部分支持。数据里有 strL 就先转成普通字符串再跑。⚠️内存占用C 插件会把变量一次性读进内存机器内存紧张时大样本可能直接崩。跑之前只保留必要变量顺手盯一下内存。⚠️Stata 版本差异Stata 17 原生 collapse 已有大幅提升MP 多核下差距会缩小。Stata 16 及以下、单核机器上 gcollapse 优势最明显。搭配谁用更香ftools 是 GTOOLS 的直接灵感来源同样走 C 插件提速这条路。你如果已经熟悉 ftools使用习惯可以直接平迁过来。更实际的是 hdfe如果你已经在用它跑高维固定效应GTOOLS 能帮你把数据准备阶段再砍掉一半时间——winsorize 交给 gstats分组统计交给 gcollapse回归前的活基本都干完了。【免费下载链接】stata-gtoolsFaster implementation of Statas collapse, reshape, xtile, egen, isid, and more using C plugins项目地址: https://gitcode.com/gh_mirrors/st/stata-gtools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考