楼主: xueyuan456
54828 88

[数据管理求助] 求助:选分组配对用循环语句OR PSMATCH2?   [推广有奖]

81
windtalker312 发表于 2020-3-13 15:53:07
围观学习,受益匪浅

82
ADALAVENDER 在职认证  发表于 2020-6-13 11:19:23
sungmoo 发表于 2012-2-23 08:03
*稍微调整一下(结果不变。补充:若mat值只出现一次,则原数据无匹配可能;若mat值重复两次以上,则原数据有 ...
借楼上大神的程序,修改了一下,实现k近邻的匹配,若有错误,请大家指正!再次赞叹,大神程序写的真好!!!!

上述程序只能实现1:1匹配(因为u=min(q))
如果先对q排序,在取前k个,个人认为就实现了k近邻的匹配

所以:
use match1.dta, clear
bys year ind daq sp (stkcd): g exp=_n if sp
bys year ind daq: egen s=max(exp)
drop if s==.
expandcl s if !sp,cl(year stkcd) gen(g)
bys year stkcd: replace exp=_n if !sp
bys year ind daq exp: egen r=sum(roa*sp)
g q=abs((roa-r)/r) if !sp
sort year ind exp q
bys year ind exp: gen u=_n if !sp
drop if u>k&!sp   //k近邻

egen mat=group(year ind daq exp)
drop exp-u
sort mat sp

83
IRIS3 发表于 2020-9-14 18:33:39
请问最后配对出来的结果是在matchsample那个文件是吗?

84
IRIS3 发表于 2020-9-14 21:25:57
我想知道最后匹配结果是看mat吗?mat相同的为一组吗?

85
IRIS3 发表于 2020-9-15 10:05:27
H1137220063 发表于 2017-10-12 19:11
我也是,现在还在跑,请问你知道是哪里出问题了吗?
我这边也是得不出结果,请问有解决办法吗

86
LYT97 发表于 2020-9-25 19:09:17 来自手机
xueyuan456 发表于 2009-7-18 18:49
有个问题希望帮忙解决一下,我现在有一个数据库,里面有公司代码(code),年度(year), 资产(assets), ...
收益颇深!

87
lixia0814 发表于 2020-12-30 10:29:27
无尘第二 发表于 2012-2-19 11:34
/*下面的程序是对match1.dta中的所有观测值都寻找匹配样本(即sp=1的样本与sp=1的样本配对),而要求是针对其 ...
就我一个人会运行出错吗?博主是否解决了这个问题,可否交流一下?

88
wtx272644 发表于 2021-5-15 23:04:22
ㄣ伪妳ぁ飞 发表于 2013-4-15 00:52
你好!我是stata菜鸟啊!我在运行这个程序的时候,在运行
forv i=1/`m'{
loc v=stkcd[`i']
你好,我也出现这个错误了,请问最后怎么解决的呢

89
zhang_1978 发表于 2022-4-15 09:10:12
costmanagement 发表于 2013-7-28 21:15
sungmoo给出的程序一如既往的好用,但请问如果改为同行业、同年、ROA上下30%,该如何您的配对程序?谢谢!
请问你后面会这个程序了吗?解决了这个问题没有?谢谢

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 13:13