2017-03-07 75 views
0

我一直運行在命令ivregress的分析,例如試圖在程序中調用ivregress命令失敗,出現錯誤消息

(...) 
ivregress 2sls y1 x1 x2 (y2 = z1 z2) 

其正常工作。

但同樣的指令把一個程序中,例如:在執行程序時

program test 
(...) 
ivregress 2sls y1 x1 x2 (y2 = z1 z2) 
end 
test 

給出錯誤信息__00009E not found。之後,有必要清除一切即使在程序之外也可以運行ivregress

我做了幾個測試,而且這個問題似乎是由於程序調用ivregress而引起的。

其他命令(例如regress y1 x1 x2)無論從程序內部還是外部都可以正常工作。

我需要在程序中運行ivregress命令,因爲我想進行蒙特卡洛模擬。

我還沒有發現任何信息網上關於這個問題,無論是與ivregress命令有問題,或者是否有限制哪個命令可以從程序調用......

有沒有人解釋或解決這個問題?

回答

0

該問題已通過將程序重命名爲mytest解決。 「測試」是Stata的命令,這可能是問題。它沒有解釋爲什麼當程序調用「regress」命令時它確實工作。

+0

我認爲它的確如此。當你運行沒有參數的'test'時,它會嘗試重新運行最後一個'test'(官方)命令。在你的情況下,前面的'test'被記住,但它使用了不再存在的臨時變量,所以不行。 Stata從來沒有嘗試過運行你的程序,這個錯誤與內部沒有任何關係。這是我的解釋。總之,你的問題是關於使用名字作爲現有命令的名字(它總是首先被試用),並且與你的程序內容無關,包括它使用'ivregress '。 –

+0

要進一步測試,請設置「跟蹤」並查看會發生什麼。 –

+0

以雙下劃線開頭的名稱是臨時名稱。 –

相關問題