gtools:Stata 分组操作提速利器,gcollapse 跑千万行数据不再等 gtoolsStata 分组操作提速利器gcollapse 跑千万行数据不再等【免费下载链接】stata-gtoolsFaster implementation of Statas collapse, reshape, xtile, egen, isid, and more using C plugins项目地址: https://gitcode.com/gh_mirrors/st/stata-gtools百万行的 collapse 从几十分钟压到几秒——这就是 gtools 要干的事。它把 collapse、reshape、egen、xtile、isid、levelsof、contract 等常用命令用 C 插件重写了一遍哈希分组加单整数排序绕开原生命令里一层层的临时循环。作者是 Mauricio Caceres Bravo许可证为 MIT。一条命令装完立刻能跑安装走 SSC两条命令就够升级插件跟着走ssc install gtools gtools, upgrade跑通感怎么建立加载自带数据用 gcollapse按分组折叠/汇总数据的命令试一次sysuse auto, clear gcollapse (mean) price_avg price (median) mile_med mileage, by(maker)跑完内存里只剩每家厂商一行均价、里程中位数各一列列名随便起。gcollapse 还支持 merge 选项把结果直接合回原表省掉存盘再合并那一步。比原生 collapse 快在哪原理不神秘把 by 变量哈希成 128 位整数后对整数排序接近 O(N) 的计数排序而通用排序是 O(N log N)同时统计逻辑全部下沉到 C不再每个统计量走一遍 ado 循环。所以组数相对行数越少优势越夸张——分位数类统计量在小数据上就快 10 到 30 倍旧版 Stata 上分组汇总最高可到百倍。注意官方提醒Stata 17 之后原生 collapse 本身提速明显多核 MP 版本上原生甚至可能反超 gcollapse但在 SE 及更早版本gcollapse 依然占优。三个高频场景各配一条命令场景一清洗流水时先按厂商折叠再合回原表替代「collapse → save → merge」三步曲gcollapse (mean) price_avg price, by(maker) merge执行完 maker 的均价就挂在原数据每一行上。场景二按组生成分位数变量替代 xtile/pctile天然支持 by() 和权重gquantiles q_decile mileage, xtile nq(10) by(maker)每个厂商内部分十档十列新变量一次到位想同时存分位切点再加相应选项即可。场景三需要稳定排序时hashsort基于哈希的稳定排序命令比 sort/gsort 更省hashsort -mileage maker, mlast降序排 mileage行为等价于 gsort同序行的相对顺序保持稳定。我踩过的坑直接说只编译了 64 位插件32 位机器请放弃或自行交叉编译。变量数受插件接口限制IC 版约 800 个MP 版一万多。超了会直接报错先精简变量。观测数上限 21 亿2^31-1受 Stata 自身 bug 拖累不是 gtools 的锅。strL超长字符串变量Stata 14 以下插件接口只读而 gcollapse、gcontract、greshape 还得写回内存所以直接不支持。建议转成短字符串或数值编码。插件执行期间窗口可能「假死」。真卡死是内存不够在换页盯一下磁盘或 swap 活动即可判断别急着强杀。临时目录只读会报 r(608)设 global GTOOLS_TEMPDIR 指到可写目录。没有多线程。单线程已经是这个量级的提速多核红利目前吃不到。什么时候换别的工具工具什么时候该换它ftoolsgtools 的灵感来源功能面更全、还有好用的 Mata API但它要求分组变量纯数值或纯字符串混合类型是短板且同命令实测通常比 gtools 慢 2 到 9 倍reghdfe目标是多元高维固定效应回归时。gstats hdfe 只做残差化不出回归表完整估计还是找它代码就放在 gitcode 镜像上clone 下来对照 docs/benchmarks/quick.py 自己跑一轮基准最踏实仓库地址 https://gitcode.com/gh_mirrors/st/stata-gtools【免费下载链接】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),仅供参考

相关新闻

最新新闻

基于树莓派与OpenCV的智能监控系统:从目标检测到自动响应

基于树莓派与OpenCV的智能监控系统:从目标检测到自动响应

在实际家庭安防和智能监控项目中,我们常常会遇到一些意想不到的“访客”,比如小动物。它们不仅可能造成财产损失,其行为有时还会让人哭笑不得,例如标题中描述的“偷了东西还敢嘲讽”的场景。这背后反映的是一个典型的智能监控系统…

2026/8/22 3:28:58
扩散模型自引导新范式SSG:Token交换实现零成本能力提升

扩散模型自引导新范式SSG:Token交换实现零成本能力提升

1. 从“引导”到“自引导”:扩散模型能力跃迁的新窗口最近在CVPR 2026上看到一篇Oral论文,标题挺有意思,叫“扩散模型自引导新范式 SSG:直接交换Token就能变强!”。这个标题信息量不小,它点出了当前扩散模型…

2026/8/22 3:28:58
AI Agent编排者:从状态管理到决策循环的工程实践

AI Agent编排者:从状态管理到决策循环的工程实践

1. 从“编排者”说起:为什么我们需要Agent类编排者? 在AI应用开发的浪潮里,我们常常会陷入一个误区:认为只要堆砌足够多、足够强大的模型,就能解决复杂问题。于是,我们热衷于调用各种API,尝试不…

2026/8/22 3:28:58
QKVShare:端侧大模型多智能体协作的量化KV-Cache共享技术

QKVShare:端侧大模型多智能体协作的量化KV-Cache共享技术

1. 项目概述:当多个智能体共享一个“大脑”时,如何让它们高效对话?最近在折腾端侧大语言模型(On-Device LLMs)的多智能体(Multi-Agent)应用时,我遇到了一个非常具体且恼人的问题&…

2026/8/22 3:28:58
大语言模型三大核心能力:预训练、微调与上下文学习实战解析

大语言模型三大核心能力:预训练、微调与上下文学习实战解析

1. 从“通用大脑”到“专业助手”:理解大语言模型的三种核心能力如果你最近关注过AI相关的新闻或技术社区,大概率会被“大语言模型”、“微调”、“预训练”这些词刷屏。它们听起来很专业,仿佛离普通开发者很远。但事实上,理解这三…

2026/8/22 3:28:58
AI隐私保护下的数据可维护与可验证:技术架构与实战指南

AI隐私保护下的数据可维护与可验证:技术架构与实战指南

1. 项目概述:当AI遇见隐私,我们如何“鱼与熊掌”兼得?最近和几个做AI项目的朋友聊天,大家不约而同地提到了同一个困境:模型效果和数据隐私,好像总在玩跷跷板。你想让模型更聪明、更精准,就得喂给…

2026/8/22 3:23:58