2017-03-07 3 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という名前に変更して解決しました。 "test"はStataのコマンドで、これはおそらく問題でした。これは、プログラムから "回帰"コマンドが呼び出されたときになぜ機能したのか説明していません。

+0

と思います。引数なしで 'test'を実行すると、最後の' test'(公式)コマンドを再実行しようとします。あなたの場合、以前の 'test'は記憶されていますが、もはや存在しない一時変数を使用しています。 Stataはあなたのプログラムをまったく実行しようともせず、エラーは内部にあるものとは何の関係もありません。それが私の解釈です。要約すると、あなたの問題は、既存のコマンド(常に最初に試される)の名前であるプログラムの名前を使用し、プログラムの内容には何もしないことです。これには、 'ivregress '。 –

+0

さらにテストするには、 'set trace on'と何が起こるかを見てください。 –

+0

二重のアンダースコアで始まる名前は一時的な名前です。 –

関連する問題