我在Stata 13.1 MP 64位中安装了st0352软件包,它对连续处理变量执行倾向匹配,并使用了作者提供的示例。
然后我运行作者在Stata文章中描述的命令,但我得到了一个错误。
守则和结果如下:
use "LotteryDataSet.dta", clear
drop if year6==.
su prize, de
drop if prize >= r(p95)
replace year6 = year6/1000
mat def tp = (10\20\30\40\50\60\70\80\90\100)
set more off
drf agew ownhs owncoll male tixbot workthen yearm1 yearm2 yearm3 yearm4 yearm5 yearm6, ///
outcome(year6) treatment(prize) gpscore(gps) test(L_like) tpoints(tp) numoverlap(3) ///
method(radialpspline) family(gaussian) link(log) nknots(7) det delta(1)
.................. omitted
****************
DRF estimation
****************
Radial penalized spline estimator
Run 1 .. (Cpq = 716.46)
Run 2 .. (Cpq = 583.26)
Run 3 .... (Cpq = 594.32)
Run 4 ... (Cpq = 639.28)
Run 5 .. (Cpq = 601.10)
***<istmt>: 3499 mm_radial() not found***我不知道为什么会这样。我搜索了斯塔塔的官方网站,但没有发现任何与mm_radial()有关的信息。
我怎样才能解决这个问题?
发布于 2018-04-28 13:14:56
首先,st0352包指的是drf社区提供的命令,您在问题中没有明确说明这一点。从一开始就提供这些信息是习惯和有用的,所以其他人知道你并不是指官方的、内置的命令。
在drf帮助文件中的备注中,作者要求您
“请记住在运行此程序之前使用更新查询命令,以确保安装了最新版本的Stata。否则,此程序可能无法正常运行……”
假设您在之前使用drf模块完成了这个drf,并且该命令已经正确安装,那么Stata可能不知道在哪里查找mata函数mm_radial(),从而引发错误。
上述函数应该包含在mata_drf_functions.mata或mata_spacefill_functions.mata中。这两个文件应该与模块一起安装。
在Stata命令提示符中,键入:
mata: mata mlib index然后再试着运行命令。
编辑:
我对此进行了更好的研究,看起来您首先需要自己创建mata库。
因此,在使用上述命令之前,需要运行以下命令:
clear all
findfile mata_drf_functions.mata
do "`r(fn)'"
findfile mata_spacefill_functions.mata
do "`r(fn)'"
mata: mata mlib create ldrf, dir(PLUS) replace
mata: mata mlib add ldrf *()https://stackoverflow.com/questions/50076308
复制相似问题