gen 和 egen 中的 sum() 函数

作者:连玉君 (知乎 | | 码云)

Stata连享会 精彩推文1 || 精彩推文2

此求和非彼求和

实证分析中,进场需要进行加总计算。Stata 中的 generate 命令以及更为强大的 egen 命令都提供了 sum() 函数。然而,需要特别注意的是,二者的功能有很大的差异。先看看如下范例:

clear
input x
      1
      2
      3
      4
end

 gen sx_gen  = sum(x)
egen sx_egen = sum(x)

list , clean noobs

结果如下:

. list , clean noobs
    x   sx_gen   sx_egen  
    1        1        10  
    2        3        10  
    3        6        10  
    4       10        10  

可见,gen 提供的 sum() 函数执行的是累积加总,而 egen 提供的 sum() 函数则进行整体加总

扩展应用:分组求和

计算各个年度的销售总额 (sx_egen),以及每家公司当年的市场份额 (sale_per):

clear
input id     year    sale  
      601    2011    0.1
      602    2011    0.2
      601    2012    0.3
      602    2012    0.4
      603    2012    0.5
end

bysort year:  gen sx_gen  = sum(sale)
bysort year: egen sx_egen = sum(sale)

gen sale_per = sale/sx_egen*100 //市场份额

format sx* sale* %3.1f
list, noobs sepby(year)

结果如下:

. list, noobs sepby(year)

  +-------------------------------------------------+
  |  id   year   sale   sx_gen   sx_egen   sale_per |
  |-------------------------------------------------|
  | 601   2011    0.1      0.1       0.3       33.3 |
  | 602   2011    0.2      0.3       0.3       66.7 |
  |-------------------------------------------------|
  | 601   2012    0.3      0.3       1.2       25.0 |
  | 602   2012    0.4      0.7       1.2       33.3 |
  | 603   2012    0.5      1.2       1.2       41.7 |
  +-------------------------------------------------+

关于我们

  • Stata 连享会(公众号:StataChina)】由中山大学连玉君老师团队创办,旨在定期与大家分享 Stata 应用的各种经验和技巧。
  • 公众号推文同步发布于 【-Stata连享会】 和 【知乎-连玉君Stata专栏】。可以在知乎中搜索关键词StataStata连享会后关注我们。
  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
  • Stata连享会 精彩推文1 || 精彩推文2

联系我们

  • 欢迎赐稿: 欢迎将您的文章或笔记投稿至Stata连享会(公众号: StataChina),我们会保留您的署名;录用稿件达五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
  • 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
  • 联系邮件: [email protected]

往期精彩推文

Stata连享会推文列表

Stata连享会 精彩推文1 || 精彩推文2


gen 和 egen 中的 sum() 函数_第1张图片
欢迎加入Stata连享会(公众号: StataChina)

你可能感兴趣的:(gen 和 egen 中的 sum() 函数)