Substr Funktion In Stata Forex

Ich versuche, Dummy-Variablen in Stata zu erstellen, die 1 sind, wenn eine der Variablen dx1 bis dx25 mit einer bestimmten Zeichenfolge beginnt. Ich weiß, dass ich das mit etwas wie dem Folgenden tun kann, aber für alle 25 dx Variablen: Ich würde dann andere Dummies gleich 1 erstellen, wenn irgendwelche der dx s mit diesen beginnen: Ich habe versucht, herauszufinden, eine effizientere und elegante Weg, dies zu tun Datenstruktur Beispiel (ich halte es dx1 bis dx5 hier aus Platzgründen): fragte am 16. Juni 14 um 2:12 Ich versuche zuerst, die Dinge zu machen. Danach, wenn sein zu ineffizient für meine Bedürfnisse (und manchmal auch ästhetisch unangenehm), versuche ich, die Dinge auf eine andere Weise zu bearbeiten. Nach deiner Gedankenlinie, warum nicht versuchen, Schleifen: Im mit den Zeichenfolgen von Interesse, um die Indikator-Variablen (Sie nennen sie Dummy). Weil einige Strings illegale Stata-Namen machen würden, verwende ich die Funktion strtoname (). Diese Namenskonvention ist natürlich nicht obligatorisch. Theres mehr Auswertung geht als tatsächlich benötigt, aber es könnte genügen, wie es ist. Für jedes Element der lokalen li. Nach dem ersten Ersetzen muss keine weitere Auswertung durchgeführt werden. Aber der Code prüft auf alle dx-Variablen. Vielleicht gibt es einen besseren Weg, um Ihr Endergebnis zu erzielen, aber Sie sagen nicht, was das ist. Das scheint nur ein Zwischenschritt zu sein. Führen Sie die Hilfe ltcommandorfunctiongt für Details zur spezifischen Syntax aus. (Beachten Sie, dass in Ihrem ursprünglichen Post ist effizienter als, weil Stata nicht brauchen, um zu überprüfen, ob Bedingung für jede Beobachtung in der Datenbank erfüllt ist. Es listet einfach die ersten 20 Beobachtungen.) Ein Hauch von Befehlen für die Arbeit mit Strings in stata 8 Manchmal finden Sie einen Datensatz mit einer id-Variable, die mehrere Bits von Informationen zusammen verpackt hat, die Sie gerne trennen möchten. Ein gutes Beispiel ist die sogenannte Statecd-Variable, die einen Statecode und eine Distriktnummer zu einem vierstelligen Bezeichner kombiniert. Hier ist eine Möglichkeit, das in Stata auszupacken. Machen Sie eine String-Version des Codes Variable gen str4 wrk string (statecd) Machen Sie eine Variable für die Zustandscodes Füllen Sie die Zustandscodes für Staaten mit 2-stelligen Zustandscodes ersetzen state substr (wrk, 1,2) if statecd999 Fill in Die Zustandscodes für Zustände mit 1-stelligen Zustandscodes ersetzen den Zustand substr (wrk, 1,1) if statecd


Comments