je reçois un comportement étrange (il génère manque que des valeurs) de la boucle suivante -STATA boucle foreach comportement étrange
foreach x du nom de varlist {Egen totalcap
x'=total(cap) if unit!=0 & name=="
x ' », par (an) }
Mais si je devais le faire
Egen totalcapSOMENAME = totale (cap) si l'unité ! = 0 & name == "SOMENAME", par (année)
puis il calcule les nombres qu'il est censé calculer.
Ceci est un ensemble de données de panel, l'unité désigne le nombre dans un groupe motopropulseur d'une unité génératrice particulière (les unités numérotées 0 sont des observations au niveau de l'usine). La variable de plafond est la capacité installée. La variable name identifie la plante. C'est compliqué d'expliquer pourquoi j'ai besoin de cette boucle, mais le problème est clairement lié à la façon dont STATA interprète foreach.
Une chose que j'ai oublié de mettre en évidence (mais qui est incluse dans l'extrait de code fourni) - vous n'avez pas besoin des guillemets autour de x dans la boucle, juste des guillemets simples ... donc ça devrait être == 'x ', pas == "x". –