Stata:配对对象的均值-(俄罗斯方块移动)

发布时间:2020-10-09 阅读 24

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程主页 https://gitee.com/arlionn/Course

作者:连玉君 (中山大学)
E-Mail: arlionn@163.com


目录


1. 问题背景

伍德里奇先生的问题:PSM 分析中的配对——小蝌蚪找妈妈 一文中,我们介绍了几种配对方法。今天,又遇到了一个有点相似但又不完全相同的问题。最终看来,处理方法却迥异。

我们手头有如下数据:

     +----------------+
     | year   g0    y |
     |----------------|
  1. | 2016    0   10 |
     |----------------|
  2. | 2016    1   20 |
  3. | 2016    1   30 |
  4. | 2016    1   40 |
     |----------------|
  5. | 2017    0   50 |
  6. | 2017    0   60 |
  7. | 2017    0   70 |
     |----------------|
  8. | 2017    1   80 |
  9. | 2017    1   90 |
     +----------------+

想得到如下结果(即生成 ym 和 ym_peer 两个新变量):

     +-------------------------------+
     | year   g0    y   ym   ym_peer |
     |-------------------------------|
  1. | 2016    0   10   10        30 |
     |-------------------------------|
  2. | 2016    1   20   30        10 |
  3. | 2016    1   30   30        10 |
  4. | 2016    1   40   30        10 |
     |-------------------------------|
  5. | 2017    0   50   60        85 |
  6. | 2017    0   60   60        85 |
  7. | 2017    0   70   60        85 |
     |-------------------------------|
  8. | 2017    1   80   85        60 |
  9. | 2017    1   90   85        60 |
     +-------------------------------+

我们需要完成的工作图示如下: image.png

2. 处理思路

  • ym 变量:只需借助 egen 命令的 mean() 函数即可实现;
  • ym_peer 稍微复杂一些,可以借助虚拟变量 (哑变量) 的 开关 功能,以及 egen 命令的 max() 函数实现数据的扩充。

3. 代码及思路展示

clear
input ///
    year   g0    y  
    2016    0   10  
    2016    1   20  
    2016    1   30  
    2016    1   40  
    2017    0   50  
    2017    0   60  
    2017    0   70  
    2017    1   80  
    2017    1   90  
end

*- ym
bysort year g0: egen ym = mean(y)  
*- ym_peer (一部分)
gen g1 = 1-g0
gen ymxg0 = ym*g0
bysort year: egen ymxg0full = max(ymxg0)
gen ymp0 = ymxg0full*(1-g0)
Stata处理思路图示
Stata处理思路图示

4. 完整代码

clear
input ///
    year   g0    y  
    2016    0   10  
    2016    1   20  
    2016    1   30  
    2016    1   40  
    2017    0   50  
    2017    0   60  
    2017    0   70  
    2017    1   80  
    2017    1   90  
end

list year g0 y, sepby(year g0)

bysort year g0: egen ym = mean(y)

gen g1 = 1-g0
gen ymxg0 = ym*g0
bysort year: egen ymxg0full = max(ymxg0)
gen ymp0 = ymxg0full*(1-g0)

gen ymxg1 = ym*g1
bysort year: egen ymxg1full = max(ymxg1)
gen ymp1 = ymxg1full*(1-g1)

gen ym_peer = ymp0 + ymp1

keep y year g0 ym ym_peer
list, sepby(year g0) noobs

结果如下:

. list, sepby(year g0) noobs

  +-------------------------------+
  | year   g0    y   ym   ym_peer |
  |-------------------------------|
  | 2016    0   10   10        30 |
  |-------------------------------|
  | 2016    1   20   30        10 |
  | 2016    1   30   30        10 |
  | 2016    1   40   30        10 |
  |-------------------------------|
  | 2017    0   50   60        85 |
  | 2017    0   60   60        85 |
  | 2017    0   70   60        85 |
  |-------------------------------|
  | 2017    1   80   85        60 |
  | 2017    1   90   85        60 |
  +-------------------------------+

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD