楼主: 王哲语
1469 2

[编程问题求助] PSM一对一匹配将实验组的某变量值赋给相应对照组 [推广有奖]

  • 0关注
  • 1粉丝

本科生

4%

还不是VIP/贵宾

-

威望
0
论坛币
101 个
通用积分
4.4639
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
107 点
帖子
35
精华
0
在线时间
82 小时
注册时间
2016-12-27
最后登录
2023-5-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
例子如下,为虚拟变量aa进行一对一匹配,执行下面命令后得到,结果可以看出,_id=8的样本为实验组,它的对照组是_id=1的样本,如何将_id=8的样本的cc变量值赋给_id=1的个体,使后者的cc变量值与前者相同。

有什么操作可以让 每个实验组的cc值都赋给各自对应的处理组样本身上吗?

谢谢大家!
  1. clear
  2. input byte aa bb cc
  3. 1 3.6 4.4
  4. 1 5.5 7.8
  5. 0 10.2 4.2
  6. 0 10.1 1.2
  7. 1 1.2 3 4
  8. 0 3.5 7.5
  9. 1 4.3 6.7
  10. 0 6.3 4.1
  11. 0 2.1 9.3
  12. 0 3.3 4
  13. 0 6 9
  14. 0 6 12
  15. 0 2 7.3
  16. 0 4.4 7.5
  17. 0 5.5 3.5
  18. 0 8.9 3.9
  19. end


  20. psmatch2 aa bb cc,ate n(1) common ties noreplacement
  21. sort _id
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:对照组 实验组 generated generate Support

沙发
王哲语 发表于 2020-5-13 09:06:03 |只看作者 |坛友微信交流群
自己编了个程序,大概符合要求了。
  1. keep if _weight!=.

  2. gen dd=.

  3. levelsof _id if aa==1,local(_id)
  4. levelsof _n1 if aa==1,local(_n1)

  5. set more off

  6. foreach i of local _n1{
  7. gen cc`i'=cc if _n1==`i'
  8. }

  9. foreach i of local _n1{
  10. foreach j of local _id{
  11. ereplace cc`i'=min(cc`i')
  12. replace dd=cc`i' if _id==`i'
  13. }
  14. }
复制代码

谢谢各位老师同学,

使用道具

藤椅
111115567 发表于 2022-8-1 20:22:40 |只看作者 |坛友微信交流群
王哲语 发表于 2020-5-13 09:06
自己编了个程序,大概符合要求了。
谢谢各位老师同学,
您好,请问这个15行的j是干啥用的呢,最后是dd成了对照组cc变量的存在吗,谢谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 11:58