2016-11-01 31 views
0

私の変数は名前が付けられます。解決あいまいな略語が

F_1idoXyea_2_1988 
F_1idoXyea_2_1989 
F_1idoXyea_2_1990 

はコードを考えると

forvalues i = 2(1)12 { 
    qui replace F_1idoXyea_`i' = F_1idoXyea_`i'*exp(_b[F_1idoXyea_`i']) 
} 

エラーメッセージは、誰もがこの問題を解決する方法を知ってい

F_1idoXyea_2 ambiguous abbreviation 

を表示されます問題?

答えて

4

forvaluesループの使用はこの問題の原因ではありません。それは純粋で単純です:あなたは

F_1idoXyea_2_1988 
F_1idoXyea_2_1989 
F_1idoXyea_2_1990 

F_1idoXyea_2から一切の言及があいまいである持っていることを考えます。 Stataは変数名の略語を許可します(それが無効になっていない限り)が、これをクリアする唯一の方法はStataにあなたが意味する変数を伝えることです。

これは家庭的な状況ですべての四つです。あなたは3人の友人Peter A、Peter B、Peter Cを持っています。あなたはPeterをすべて知っている人に話を始めるでしょう。あなたはピーターの話をしていますか?公正な質問です。

+1

最後の部分が大好きです。 – JasonK

+0

ポイントは私が変数 '' xi、pre(F_1)i.ido * i.year'を使って変数を作成すると、変数名はStataによって作成されます。 –

+0

疑いはありませんが、どのように質問が変わるのでしょうか?それらをすべてループしたい場合は、 'F_1idoXyea_2 _ ????'や 'F_1idoXyea_2 * 'のようなワイルドカードを考慮する必要があります。 –

関連する問題