Ich habe jetzt mal folgendes probiert:
- Code: Alles auswählen
*********In andere Datei umlenken
******Anfängliche Konfiguration
*Verzeichnis auswählen
cd "C:\users\user\Verzeichnis"
*Quelldatei aufrufen
use datei1
*Schleifendurchgänge zählen. Anfangswert einstellen
scalar counter=1
******Schleife
*Alle Werte von Minimum bis Maximum durchgehen
forval i=1/200000 {
*Kontrolle, ob die Schleife läuft
display "Schleife beginnt"
*Zeilen zählen, in denen die Variable den jeweiligen i-Wert annimmt
count if var0==`i'
*Count-Ergebnis als j zwischenspeichern
scalar j = r(N)
*Zieldatei öffnen
use testdatei
*In die erste Variable speichern, zu welchem i der j-Wert gehört. Counter dient dazu, jeden Wert in eine neue Zeile einzutragen
replace var1[`counter']=`i'
*In die zweite Variable den j-Wert speichern
replace var2[`counter']=`j'
*Zieldatei abspeichern
save testdatei
*Quelldatei wieder öffnen
use datei1
*Kontrollzähler um eins erhöhen
scalar counter=counter+1
*Schleifendurchgang anzeigen
display counter
}
Ausgelesen soll aus datei1.dta und abgespeichert werden soll in testdatei.dta. Die Quellvariable ist var0 in datei1.dta. Sie hat das Minimum 1 und das Maximum 200000. Ich möchte nun in testdatei.dta für jeden vorhandenen Wert dessen absolute Häufigkeit in var0 speichern.
Ich habe einen Weg gefunden, Stata darauf zu programmieren. Es hapert aber noch an der korrekten Übersetzung in Stata-Code. Mit dem oben eingefügten Code erhalte ich die Fehlermeldung "incorrect syntax". Kann mir jemand sagen warum?