楼主: zhenfuyuan
30730 60

[其他] Stata用diff命令做基于kernel psm的did,每次做出来的结果都不一样 [推广有奖]

11
bobzhang1999 发表于 2017-6-11 09:11:49
找到原因了,是diff的ado文件调用有问题。
. sysdir
   STATA:  D:\Program Files (x86)\Stata14\
    BASE:  D:\Program Files (x86)\Stata14\ado\base\
    SITE:  D:\Program Files (x86)\Stata14\ado\site\
    PLUS:  c:\ado\plus\
    PERSONAL:  c:\ado\personal\
    OLDPLACE:  c:\ado\
上面是我stata的文件目录,我发现在BASE:  D:\Program Files (x86)\Stata14\ado\base\ 和PLUS:  c:\ado\plus\ 中都有diff的ado文件,并且D盘的文件是2010年的(6k),c盘的文件是2017年的(48k)。由此怀疑,尽管更新了ado文件,但实际上每次调用的都是旧版本的diff。比照两个ado文件的程序及帮助文件,肯定了这种想法。
于是将两个文件夹中的diff.ado以及diff.sthlp文件都删除,重新安装diff文件,解决。
引起思考:stata是优先调用BASE文件夹中的ado文件吗? 难道ssc insatall replace 只会更新PLUS:  c:\ado\plus\  文件夹中的ado命令?

已有 1 人评分经验 论坛币 收起 理由
葫芦娃大王 + 10 + 5 精彩帖子

总评分: 经验 + 10  论坛币 + 5   查看全部评分

12
royyang 发表于 2017-6-11 09:27:52
bobzhang1999 发表于 2017-6-11 09:11
找到原因了,是diff的ado文件调用有问题。
. sysdir
   STATA:  D:\Program Files (x86)\Stata14\
这是个好问题,虽然我不懂
在不用的地方的版本不同?base下的是自带的,plus下是ssc的?然后stata版本更新才会更新base吗?
吃瓜群众期待高手解答

13
黃河泉 在职认证  发表于 2017-6-11 09:41:47
bobzhang1999 发表于 2017-6-11 09:11
找到原因了,是diff的ado文件调用有问题。
. sysdir
   STATA:  D:\Program Files (x86)\Stata14\
(help) adopath displays and resets the contents of the global macro $S ADO, the path over which Stata
searches for ado-files
. The default search path is
  1. adopath
  2. [1] (BASE) "C:\Program Files\Stata13\ado\base"
  3. [2] (SITE) "C:\Program Files\Stata13\ado\site"
  4. [3] "."
  5. [4] (PERSONAL) "C:\ado\personal"
  6. [5] (PLUS) "C:\ado\plus"
  7. [6] (OLDPLACE) "C:\ado"
复制代码
不过,我们一般都会将外挂程式置于 [5] (PLUS) "C:\ado\plus",你的怎么会跑到其他地方呢?

14
bobzhang1999 发表于 2017-6-11 10:04:54
你的stata安装路径是默认的吧,我的是安装在了d盘,我估计与这个有关系。

15
18222233526 发表于 2017-6-13 21:58:42
最近也在纠结只用diff 和用diff+kernel间的区别,只用diff时,得到的diff-in-diff 是0.7,但用diff+kernel 时就会到1.4,差两倍多。有大神能帮解释下为什么会出现这么大的差别么?另外,diff+PSM孤军奋战很痛苦,有志同道合的小伙伴可以加QQ 552494377,大家有问题互帮互助哦~附上只做diff和diff+kernel结果的图,求大神帮助。 1497362252(1).jpg

16
qujinshen 发表于 2017-6-16 10:35:46
bobzhang1999 发表于 2017-6-11 09:11
找到原因了,是diff的ado文件调用有问题。
. sysdir
   STATA:  D:\Program Files (x86)\Stata14\
楼主,你好,为什么我删除了还是每次跑出来的结果不一样呢。求赐教~

17
qujinshen 发表于 2017-6-16 15:15:59
楼主,请问你的问题解决了吗?能否请教一下Q:289178752。不胜感谢!!

18
bobzhang1999 发表于 2017-6-16 18:40:01
qujinshen 发表于 2017-6-16 15:15
楼主,请问你的问题解决了吗?能否请教一下Q:289178752。不胜感谢!!
可以把数据贴出来看下,结果不一样的情况还没碰到

19
qujinshen 发表于 2017-6-18 08:28:11
bobzhang1999 发表于 2017-6-16 18:40
可以把数据贴出来看下,结果不一样的情况还没碰到
您好,附件中是我两次匹配后做的did分析。前面用psm匹配的结果完全一致,只有最后did的结论不一样。麻烦您帮我看看。 两次psm+did的结果.docx (172.55 KB)

20
vivian337 发表于 2017-7-11 16:02:44
楼主 你好  我按照你的方法查看了我的ado文件  确实只有一个盘中有  而且我还diff.ado以及diff.sthlp文件都删除,重新安装了diff文件 可依旧每次的结果都不一样 你的得到解决了吗 我这种情况可能是什么原因引起的
期待你的回复  谢谢

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

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