In diesem Beitrag zeige ich, wie man in Stata String-Variablen in numerische Werte umwandelt. String-Variablen sind in rot dargestellt. Wenn eine numerische Variable als String-Variable in Stata gespeichert ist, gibt es mehrere Möglichkeiten, sie in numerische Variablen zu konvertieren. Beginnen wir zunächst mit dem Befehl destring.
Der Befehl destring könnte die erste Wahl für die Konvertierung von String-Variablen in numerische Variablen sein, wenn wir eine begrenzte Anzahl von nicht-numerischen Zeichen haben. Mit diesem Befehl können wir entweder eine neue Variable erzeugen oder die vorhandene ersetzen. Hier ein Beispiel:
*First create a dummy datainput str15(price return)"120.25" ".10""122.25" ".12"end*Now destring the two variablesdestring price, replacedestring return, replace
Die Ignorieren-Option von destring
Wenn unser Datensatz nicht-numerische Zeichen enthält, zeigt der Befehl destring einen Fehler an
non-numeric characters found
Es kann zum Beispiel sein, dass unsere Daten Komma-Trennzeichen enthalten, weshalb destring den oben genannten Fehler erzeugt. In solchen Fällen können wir die Option ignore(„,“) verwenden, die Stata mitteilt, dass das angegebene Zeichen, d.h. “ ,“ ignoriert werden soll. Siehe das folgende Beispiel:
*First create a dummy datainput str15(price return)"12,000.25" ".10""12,200.25" ".12"end*Now destring the two variablesdestring price, replace ignore(",")
1.2 Alle nicht-numerischen Zeichen auflisten
Wir können alle nicht-numerischen Zeichen mit dem Befehl tabulate und der Funktion real() auflisten. Angenommen, unsere Variable strvar enthält nicht-numerische Werte
tabulate strvar if missing(real(strvar ))
Angenommen, der obige Code ergibt eine Liste der folgenden nicht-numerischen Zeichen.
tabulate strvar if missing(real(strvar)) strvar | Freq. Percent Cum.------------+----------------------------------- #error | 1 0.00 0.00 #na | 1 0.00 0.00 . | 171,106 100.00 100.00 14* | 1 0.00 100.00------------+-----------------------------------
Die obigen Tabellen zeigen, dass es drei nicht-numerische Variablen in unserem Datensatz gibt. Diese sind #error, #na und *. Wir können diese in der Option ignore angeben. Der folgende Code erstellt eine neue Variable numvar
destring strvar, ignor("#error" "#na" "*") gen(numvar)