阅读全文:Stata:一组大幅提升运算速度的命令-gtools (lianxh.cn)
1. 何时使用 gtools 命令组
对于大部分 Stata 用户来说,相对小量、简单的数据统计或数据处理乃日常上机必走的工序,对 Stata 的运行效率并没有什么感知。然而,当数据集异常庞大时,你不得不对着运行界面发愣,而旁边的人由于用上 gtools 命令组早早看到了输出结果,这种“知觉”将立马苏醒!话不多说,一图胜千言!
注意:由于 Stata17 对 sort 和 collapse 进行了大幅的速度优化,在 MP 版本下,collapse 甚至比 gtools 中的 gcollapse 还快 2 倍。
Mauricio Caceres (2018) 应用 C 语言插件及 Hashes 原理 (即通过将关键码值映射到 Hash Table 中的某个位置以直接访问记录) 编写了 gtools 这一利器。据测算,在命令执行上,gtools 的速度最高可达 Stata 传统命令的近 20 倍,可以说是当之无愧的效率达人!
2. 安装 gtools
gtools 是一个外部命令,作者已将其上传至 ssc,用户可直接安装:
ssc install gtools, replace
安装完毕后,用户通过 help gtools 可以查看命令组中所包含的主要命令。其中,很多命令都是基于传统的 Stata 指令编制,小编在此整理了指令对照表,如下:
gtools 指令等价 Stata 指令gcollaspe & gcontractcollaspe & contractgquantilespctile, xtile, _pctilegreshapereshapegegenegengisidisidgduplicatesduplicatesglevelsoflevelsofgstat tabtabstatgstat sumsum,detail
此外,gtools 命令组还包含了一些为所其特有的指令,其中有一部分的功能类似于 Stata 外部命令,对照表 (部分) 如下:
gtools 指令类似外部指令 (SSC/SJ)guniqueuniquegdistinctdistinctgtop ( gtoplevelsof )groups, select()gstats winsorwinsor2gstats rangerangestatfasterxtilefastxtilegatats hdfe/gstats transform/
对于回归模型,gtools 命令组也有相应的指令帮你实现:
gtools 函数回归模型类似Stata 函数gregressOLSregress, reghdfegivregress2SLSivregress 2sls, ivreghdfegglmIRLSlogit, poisson, ppmlhdfe
阅读全文:Stata:一组大幅提升运算速度的命令-gtools (lianxh.cn)