wie kann ich in einer Schleife durch die Datei-Namen in stata
1) Ist es möglich, erstellen Sie einen Vektor von strings in stata? 2) Wenn ja, ist es dann möglich, eine Schleife durch die Elemente in diesem Vektor ausführen der Befehle auf jedes element?
Erstellen Sie eine einzelne Zeichenfolge in stata ich weiß, Sie dies tun:
local x = "a string"
Aber ich habe über 200 Dateien, die ich brauche, um eine Schleife durch, und Sie sind nicht bequem mit aufeinander folgenden Suffixe wie "_2000" "_2001" "_2002" etc. In der Tat gibt es keinen Reim oder Grund zu der Datei, die Namen, aber ich habe eine Liste von Ihnen, die ich könnte leicht Ausschneiden und einfügen in eine string-Vektor, und rufen Sie dann die Elemente dieses Vektors eins nach dem anderen, wie man in MATLAB.
Gibt es eine Möglichkeit, dies zu tun in stata?
InformationsquelleAutor ben | 2012-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher-Sie erstellen Sie einfach eine Liste mit typischen lokalen anrufen. Wenn Sie nicht setzen Sie Anführungszeichen um die ganze Sache Ihre Listen können sehr lang.
Dann verwenden Sie einfach
foreach
.Anführungszeichen (
`" "'
) verwendet werden, da einer der Dateinamen mit Anführungszeichen wegen den Leerzeichen. Dieser ist einen Hauch schneller, als mitforeach filename in `mylist' {
auf die erste Zeile.Wenn Sie möchten, Bearbeiten Sie Ihre Liste finden Sie unter
Hilfe macrolists
.Bezogene Fragen gestellt zu haben, >1 mal auf stackoverflow:
local mylist "a aa" bbb "cc c" dd ee "f f"
zum Beispiel, weil die äußeren Anführungszeichen bekommen wird entfernt: stata.com/statalist/archive/2012-10/msg00285.htmlInformationsquelleAutor Keith
Oben auf Keith ' s Antwort: Sie können auch die Liste der Dateien in einem Verzeichnis mit
oder generell
Sehen
help extended_fcn
.InformationsquelleAutor StasK
Was viele Menschen wollen, könnte die Kombination der beiden, wie ich es Tat. Hier ist es:
Ich hoffe, das hilft. Beachten Sie, dass die einheimischen/Makros sind begrenzt durch 67,784 Zeichen--watch out, wenn Sie haben eine wirklich lange Liste von Dateien oder sehr langen Dateinamen.
help limits
in Ihrem Stata-für das, was auf Sie zutrifft.InformationsquelleAutor user2445132