- 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 Nebenbei bemerkt muss ich sagen, dass ich durch deine Hilfe in kurzer Zeit schon richtig viel über Stata gelernt hab . Sofern das dein Ziel ist: done
lg domi