comment puis-je faire une boucle par les noms de fichier dans stata
1) Est-il possible de créer un vecteur de chaînes de caractères dans stata? 2) Si oui, est-il alors possible de passer à travers les éléments de ce vecteur, l'exécution des commandes sur chaque élément?
Pour créer une chaîne unique dans stata je sais que vous faites ce:
local x = "a string"
Mais j'ai environ 200 fichiers de données j'ai besoin de boucle, et ils ne sont pas idéalement nommé avec consécutives des suffixes comme "_2000" "_2001" "_2002" etc. En fait, il n'y a aucune rime ni raison dans les noms de fichier, mais je dois avoir une liste de ceux qui je pourrait facilement couper et coller dans un vecteur string, et ensuite appeler les éléments de ce vecteur, un par un, comme on pourrait le faire dans MATLAB.
Est-il un moyen de le faire dans stata?
OriginalL'auteur ben | 2012-04-08
Vous devez vous connecter pour publier un commentaire.
Bien sûr, il Vous suffit de créer une liste à l'aide d'un typique d'un appel local. Si vous ne mettez pas de guillemets autour de l'ensemble de la chose que votre liste peut être très longue.
Alors il suffit d'utiliser
foreach
.Les guillemets doubles (
`" "'
) sont utilisés parce que l'un des noms de fichiers a des guillemets autour d'elle à cause de l'espace. C'est une touche plus rapide que de mettreforeach filename in `mylist' {
sur la première ligne.Si vous souhaitez manipuler votre liste, voir
aide macrolists
.Liés à des questions ont été posées >1 fois sur stackoverflow:
local mylist "a aa" bbb "cc c" dd ee "f f"
par exemple, parce que l'extérieur de prix seront obtenir dépouillé: stata.com/statalist/archive/2012-10/msg00285.htmlOriginalL'auteur Keith
Sur le dessus de Keith réponse: vous pouvez également obtenir la liste des fichiers dans un répertoire avec
ou plus généralement
Voir
help extended_fcn
.OriginalL'auteur StasK
Ce que beaucoup de gens pourraient vouloir la combinaison des deux comme je l'ai fait. Ici, il est:
J'espère que ça aide. Notez que les habitants/macros sont limitées par 67,784 caractères--regarder dehors pour quand vous avez une très longue liste de fichiers ou vraiment les noms de fichiers longs.
help limits
dans votre Stata pour ce qui s'applique à vous.OriginalL'auteur user2445132