
- Code: Alles auswählen
"global Imported_FeedbackI = "Verzeichnis"
cd "$Imported_FeedbackI"
qui fs *.dta
foreach f in `r(files)' {
}
sage ich Stata zuerst er soll ins "Imported_FeedbackI" Verzeichnis springen. Danach soll durch (qui) fs .*dta jede .dta Datei im internen Speicher von Stata vermerkt? werden. Es sollten sich nun alle Dateien irgendwie in r(files) aufgelistet befinden. Mit dem Befehl foreach f in `r(files)' möchte ich dann für jede dieser vermerkten .dta Dateien eine Aktion durchführen (in meinem Fall eine Variable generieren, die eine Bedingung erfüllt):
- Code: Alles auswählen
"global Imported_FeedbackI = "Verzeichnis"
cd "$Imported_FeedbackI"
qui fs *.dta
foreach f in `r(files)' {
by tnnr: gen dup = cond(_N==1,0,_n)
}
Hier wird die Fehlermeldung "no variables defined" ausgeworfen. Ich könnte mir vorstellen, dass es daran liegt, dass zwar der Dateiname bekannt ist, allerdings keine Datensätze (damit auch keine Variablen) in Stata eingelesen wurden.
Generell würde ich gerne wissen, wie genau ich eine Schleife schreiben muss, die in jedem Datensatz (dta-Datei) eines Verzeichnisse etwas ändert (zb: gen test=1 oder drop test if = 0 oder ähnliches).
Ich hoffe das war jetzt etwas verständlicher und weniger verwirrend


lg domi