2016-11-01 1 views
0

Mes variables sont nommées comme suit:Résolution des abréviations ambiguës dans forvalues ​​

F_1idoXyea_2_1988 
F_1idoXyea_2_1989 
F_1idoXyea_2_1990 

Vu le code

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

un message d'erreur apparaît

F_1idoXyea_2 ambiguous abbreviation 

Est-ce que quelqu'un sait comment résoudre ce problème?

Répondre

4

L'utilisation d'une boucle forvalues n'est pas la cause de ce problème. Il est pur et simple: étant donné que vous avez

F_1idoXyea_2_1988 
F_1idoXyea_2_1989 
F_1idoXyea_2_1990 

toute référence que ce soit-F_1idoXyea_2 est ambigu. Stata autorise les abréviations de noms de variables (à moins que cela ne soit désactivé), mais la seule façon de résoudre ce problème est de dire à Stata quelle variable vous voulez dire.

Il est à quatre pattes avec cette situation familiale. Vous avez trois amis Peter A, Peter B et Peter C et vous commencez à raconter une histoire de Peter à quelqu'un qui les connaît tous. De quel Peter parlez-vous? est alors une question juste.

+1

Je dois aimer la dernière partie. – JasonK

+0

Le point est que je crée des variables avec la commande 'xi, pre (F_1) i.ido * i.year' alors le nom de la variable est créé par Stata. –

+0

Sans doute, mais comment cela change-t-il la question? Si vous voulez faire une boucle sur tous, alors un caractère générique comme 'F_1idoXyea_2 _ ????' ou 'F_1idoXyea_2 *' devrait être considéré. –