2016-11-01 95 views
0

我的變量命名如下:在forvalues解決模棱兩可的縮寫

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你的意思是哪個變量。

它與這個家常情況四肢。你有三個朋友Peter A,Peter B和Peter C,你開始講一個關於彼得的故事給一個知道他們的人。你在說什麼彼得?那麼這是一個公平的問題。

+1

必須愛上最後一部分。 – JasonK

+0

關鍵是我用命令創建變量xi,pre(F_1)i.ido * i.year'然後變量名由Stata創建。 –

+0

毫無疑問,但這是如何改變這個問題的?如果你想遍歷它們,那麼應該考慮一個通配符,比如'F_1idoXyea_2 _ ????'或'F_1idoXyea_2 *'。 –

相關問題