Stata 尝试在程序内调用ivregress命令失败,并显示错误消息
例如,我一直在使用命令Stata 尝试在程序内调用ivregress命令失败,并显示错误消息,stata,Stata,例如,我一直在使用命令ivreserve运行分析 (...) ivregress 2sls y1 x1 x2 (y2 = z1 z2) 这是正确的 但同样的指令放在程序中,例如: program test (...) ivregress 2sls y1 x1 x2 (y2 = z1 z2) end test 执行程序时给出错误消息\uuu00009e未找到。在这之后,必须清除所有要在程序之外都能工作的ivretry的内容 我做了几次测试,这个问题似乎是由于从程序中调用了ivregr
ivreserve
运行分析
(...)
ivregress 2sls y1 x1 x2 (y2 = z1 z2)
这是正确的
但同样的指令放在程序中,例如:
program test
(...)
ivregress 2sls y1 x1 x2 (y2 = z1 z2)
end
test
执行程序时给出错误消息\uuu00009e未找到
。在这之后,必须清除所有要在程序之外都能工作的ivretry
的内容
我做了几次测试,这个问题似乎是由于从程序中调用了ivregresse
其他命令,如回归y1-x1-x2
,无论是从程序内部还是外部都可以正常工作
我需要在程序中运行ivregresse
命令,因为我想进行蒙特卡罗模拟
我没有在网上找到关于这个问题的任何信息,无论是ivretrease
命令有问题,还是程序调用哪些命令有限制
有人对此问题有解释或解决方案吗?例如,通过将程序重命名为mytest,问题得以解决。“test”是Stata中的一个命令,这可能就是问题所在。它没有解释为什么从程序中调用“REGREST”命令时它会工作。我想是的。当您在没有参数的情况下运行
test
时,它会尝试重新运行上一个test
(正式)命令。在您的案例中,前面的测试将被记住,但它使用了不再存在的临时变量,因此无法继续。Stata甚至从未尝试运行您的程序,错误与内部内容无关。这就是我的解释。总之,您的问题完全在于为一个程序使用一个现有命令的名称(总是首先尝试),而与您的程序内容无关,包括它使用IVREgression
。为了进一步测试,打开跟踪设置
,看看会发生什么。以双下划线开头的名称是临时名称。