美文网首页stata
gen 和 egen 中的 sum() 函数

gen 和 egen 中的 sum() 函数

作者: stata连享会 | 来源:发表于2018-01-06 11:31 被阅读745次

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

    Stata 现场培训报名中……

    此求和非彼求和

    实证分析中,进场需要进行加总计算。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 现场培训报名中

    联系我们

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

    往期精彩推文

    Stata连享会推文列表

    Stata 现场培训报名中

    连玉君Stata现场班报名中

    欢迎加入Stata连享会(公众号: StataChina)

    相关文章

      网友评论

        本文标题:gen 和 egen 中的 sum() 函数

        本文链接:https://www.haomeiwen.com/subject/mxxynxtx.html