2016-03-21 12 views
0

Ich kann nicht herausfinden, wie Stata den Wert einer String-Variablen nur ersetzen, wenn der Wert einer anderen (auch) String-Variable gleich "xxx" ist? Um das Problem zu verdeutlichen: Ich muss zwei Datensätze entsprechend dem Match im Namen der Gemeinde zusammenführen (leider habe ich nichts anderes, was für beide Datensätze üblich ist). Im ersten Datensatz gibt es mehrere Krankenhäuser mit dem Gemeinde-Namen "Frankfurt". Im zweiten Datensatz gibt es zwei Vorkommen von Frankfurt: "Frankfurt am Main" und "Frankfurt (Oden)". Beide haben ein Krankenhaus. Folglich muss ich zusätzliche Kriterien anwenden, um zwischen ihnen zu unterscheiden. Mit anderen Worten, ich kann Stata nicht einfach sagen, alle Gemeindewerte "Frankfurt" durch z. „Frankfurt am Main“ (in diesem Fall ichErsetzen Zeichenfolge Wert mit Option in Stata

Befehl verwenden könnte
replace ort = subinstr(ort, "Frankfurt", "Frankfurt am Main", .) 

aber ich muß zunächst feststellen, wo das Krankenhaus mit Hilfe seiner Bezeichnung befindet, und danach Stata zu sagen Frankfurt durch FAM zB ersetzen, wenn Bezeichnung == "xxx". Ich nehme an, es sollte nicht so schwierig sein, aber ich kann es nicht finden.

+1

'ersetzen programname =" Stata "wenn Programmname ==" STATA "': siehe http://www.statalist.org/forums/help#spelling –

Antwort

0

Sie scheinen Ihre eigene Frage beantwortet zu haben, also bin ich nicht klar, wo die Verwirrung liegt. Sonst setzen Sie, Sie don 't show syntax Sie haben versucht, was Sie nicht wollten

ist zulässig, wenn designation ein Variablenname ist und die Zeichenfolge XXX genau das ist, wonach Sie suchen möchten.

Streng genommen ist if wie hier verwendet ein Qualifier, keine Option.

+0

Vielen Dank. Du hast recht, es funktioniert. Ich hatte wahrscheinlich einen dummen Tippfehler in dem Befehl, den meine müden Augen vorher nicht gesehen haben. –