Stata: 合成控制法 synth 命令无法加载 plugin 的解决办法

Stata: 合成控制法 synth 命令无法加载 plugin 的解决办法 作者:陈勇吏(上海交通大学安泰经济与管理学院) Stata连享会:知乎|简书|码云|CSDNStata连享会 计量专题||精品课程||简书推文||公众号合集 连享会#金秋十月@空间计量专题(2019.10.24-27,成都)连享会:内生性问题及估计方法专题 合成控制法的常用命令synth在使用过程中,可能会出…

大家好,又见面了,我是你们的朋友全栈君。

作者:陈勇吏 (上海交通大学安泰经济与管理学院)

连享会 – 与君分享 lianxh.cn

连享会 – 效率分析专题

主讲嘉宾:连玉君 | 鲁晓东 | 张宁
详情微信版PDF版

合成控制法的常用命令 synth 在使用过程中,可能会出现一些问题,导致命令无法正常运行。本文列出两种经常出现的问题,并给出解决方案。

1. 第一种出现的报错

运行 synth 命令以后,显示无法加载 synthopt.plugin

  use "smoking.dta",clear
  xtset state year
  
  synth cigsale  lnincome age15to24 retprice beer(1984(1)1988) ///
	    cigsale(1988) cigsale(1980) cigsale(1975),             ///
	    trunit(3) trperiod(1989) xperiod(1980(1)1988)          ///
		fig nested allopt
*===================== 出现下面报错信息 ======================*
Could not load plugin: D:\stata15/ado\plus\s\synthopt.plugin
(error occurred while loading synth.ado)
r(9999);

这是旧版本文件可能存在的问题,如果电脑里面装了多个版本的 synth 命令相关文件,可能会导致错误调用。

解决方案:
使用 ssc install synth, replace 更新 synth 命令。

. ssc install synth, replace

*========================== 显示结果如下: ========================
the following files will be replaced:
    D:\stata15/ado\plus\s\synth.sthlp
    D:\stata15/ado\plus\s\synthopt.plugin

installing into D:\stata15/ado\plus\...
installation complete.

2. 第二种出现的报错

使用 ssc install synth, replace 更新 synth 命令以后,依然无法加载 synthopt.plugin
[外链图片转存失败(img-EYdwyUNN-1568938631964)(https://upload-images.jianshu.io/upload_images/7692714-9f2ff085181844e8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

这是 Stata 搜索 adopath 的路径设置问题。如果 adopath + "path" 添加的 adopath 路径中存在其他版本的 synth 命令文件,调用 synth 就会报错。

三种解决办法:
1、从 D:\stata15\ado\plus\s 路径下找到正确的文件 synthopt.plugin ,复制到报错中显示的路径 D:\stata15\ado\personal\PX_C_2019b\C6_synth\adofiles\plus\s 下。
2、删除 D:\stata15\ado\personal\PX_C_2019b\C6_synth\adofiles\plus\s 中的 synth.ado 文件。
3、运行 adopath - D:\stata15\ado\personal\PX_C_2019b\C6_synth\adofiles 命令,将这一路径从 ado 文件的搜索路径中剔除(这一方法将导致该路径下的其他外部命令也无法再使用)。

小结

Stata 使用合成控制法的外部命令 synth 时,如果遇到报错,可尝试运行下列命令解决问题:

ssc install synth, replace

如果依然报错,有两种建议的解决办法:

1、从 D:\stata15\ado\plus\s 文件夹中找到 synthopt.plugin 文件,复制到 D:\stata15\ado\personal\PX_C_2019b\C6_synth\adofiles\plus\s 路径中(替换该路径下的 synthopt.plugin 文件)。

也可以直接运行如下命令达到相同的效果(第二行代码的 PLUS 后面填入 synth 命令报错返回的路径):

local path `c(sysdir_plus)'
sysdir set PLUS "D:\stata15\ado\personal\PX_C_2019b\C6_synth\adofiles" //引号中是报错信息显示的路径
ssc install synth, replace
sysdir set PLUS "`path'"

2、删除 D:\stata15\ado\personal\PX_C_2019b\C6_synth\adofiles\plus\s 路径下的 synth 相关文件。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 你的颈椎还好吗? 您将 ::连享会-主页::::连享会-知乎专栏:: 收藏起来,以便随时在电脑上查看往期推文。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:
    • 课程, 直播, 视频, 客服, 模型设定, 研究设计,
    • stata, plus,Profile, 手册, SJ, 外部命令, profile, mata, 绘图, 编程, 数据, 可视化
    • DID,RDD, PSM,IV,DID, DDD, 合成控制法,内生性, 事件研究
    • 交乘, 平方项, 缺失值, 离群值, 缩尾, R2, 乱码, 结果
    • Probit, Logit, tobit, MLE, GMM, DEA, Bootstrap, bs, MC, TFP
    • 面板, 直击面板数据, 动态面板, VAR, 生存分析, 分位数
    • 空间, 空间计量, 连老师, 直播, 爬虫, 文本, 正则, python
    • Markdown, Markdown幻灯片, marp, 工具, 软件, Sai2, gInk, Annotator, 手写批注
    • 盈余管理, 特斯拉, 甲壳虫, 论文重现
    • 易懂教程, 码云, 教程, 知乎

Stata: 合成控制法 synth 命令无法加载 plugin 的解决办法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133121.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java实现远程开关机(网络唤醒)

    Java实现远程开关机(网络唤醒)Java实现远程开关机是做的一个在局域网下实现一台机器对多台机器的开关机控制远程唤醒实现是通过电源的一种协议进行控制的,需要知道被唤醒机器的mac地址首先要须知:网络唤醒条件网络唤醒需要终端的主板和网卡支持,需要先在BIOS设置支持网络唤醒网络唤醒要接通电源保证网卡能通电要接网线不能是wifi如果强制关机可能不能通过网络唤醒来开机跨交换机或者跨路由的话就有可能不支持唤醒跨多…

    2022年6月2日
    39
  • SPPnet笔记

    SPPnet笔记论文:SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognitionMotivationR-CNN等神经网络都要求输入图片是固定尺寸,比如R-CNN要求输入图片是224×224,这样就限制了其他长宽比和其他尺寸的输入图片。不同长宽比和不同尺寸的输入图片是有意义的,首先,图片数据都不是同一尺寸的,他们大小…

    2022年6月12日
    40
  • eureka集群高可用配置[通俗易懂]

    eureka集群高可用配置[通俗易懂]网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白为什么那么配置。譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别在哪里;eureka的客户端添加service-url时,是不是需要把所有的eureka的server地址都写上,还是只需要写一个server就可以了(因为server之间已经相互注册了)?如果写上了所…

    2022年6月14日
    55
  • 错误:备份集中的数据库备份与现有XXX数据库不同

    错误:备份集中的数据库备份与现有XXX数据库不同当在使用另外一台的数据库备份文件.bak恢复到本机数据库时,遇到“备份集中的数据库备份与现有XXX数据库不同”的错误时,只需要以下几步:删除与要恢复数据库同名的已经存在的数据库; 右击“数据库”选择“还原数据库”;选择源设备;然后再在弹出窗口的“目标数据库”中选择要还原数据库名;这时要备份的数据库的名字会弹出来,所以不需要提前创建现在手中有SqlServer2…

    2022年6月12日
    33
  • winscp连接虚拟机Linux被拒绝的问题解决方案[通俗易懂]

    winscp连接虚拟机Linux被拒绝的问题解决方案[通俗易懂]winscp连接虚拟机Linux被拒绝的问题解决方案

    2022年9月2日
    10
  • 时间戳格式化「建议收藏」

    时间戳格式化「建议收藏」须知:1. 时间戳分2种,一种是10位的,只包含年月日时分秒,也就是说,只精确到秒。一种是13位的,包含毫秒。这2种都叫时间戳,并不是只有精确到毫秒的才叫时间戳。10位时间戳就是从1970-01-01到当前的秒数,注意,不是毫秒数,所以需要按毫秒解析时,要*100013位时间戳就是从1970-01-01到当前的毫秒数,在java中用Instant对象对应。2. timestamp的格式化串用大写的S来表示毫秒数。S的个数和毫秒的位数严格对应,否则报错。如果规范中要求精确到毫秒,那么给的时间字符串

    2022年4月19日
    472

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号