Konvertieren zwischen numerischen und Zeichenvariablen¶

Das Konvertieren zwischen numerischen und Zeichenvariablen ist eines der am häufigsten auftretenden Probleme bei der Verarbeitung von Datensätzen. In diesem Artikel wird erläutert, wie Sie diese Konvertierung korrekt und effizient durchführen.

Numerisch zu Zeichen¶

Angenommen, es gibt ein importiertes Dataset mit dem Namen filings, wobei cik wie unten gezeigt als numerische Variable gespeichert ist:

cik Dateityp Datum
1000229 8- K 2011-09-30
100591 8- K 2006-05-11
100826 8- K 2009-06-30
93542 8- K 2007-01-25

Da cik aus verschiedenen Ziffern besteht, besteht die natürliche Prozedur zum Konvertieren der numerischen cik in eine Zeichenvariable darin, sie mit führenden Nullen aufzufüllen. Zum Beispiel ist cik (Zentraler Indexschlüssel) selbst eine 10-stellige Zahl, die von SEC .

In SAS wird die Konvertierung einer numerischen Variablen in eine Zeichenfolge mit führenden Nullen (unter der Annahme einer 10-stelligen festen Länge) über die Funktion PUT():

123
data filings(drop=cik); set filings; cik_char = put(cik, z10.); run;

Tipp

PUT() Funktion funktioniert auch in PROC SQL.

Die generierte Variable cik_char hat format und informat ., und der Datensatz wird:

cik_char Dateityp Datum
0001000229 8- K 2011-09-30
0000100591 8- K 2006-05-11
0000100826 8- K 2009-06-30
0000093542 8- K 2007-01-25

In STATA kann die Konvertierung einer numerischen Variablen in eine Zeichenfolge mit führenden Nullen (unter der Annahme einer 6-stelligen festen Länge) über die Funktion string() erreicht werden.

1
gen char_var = string(num_var,"%06.0f")

Zeichen in numerisch¶

In SAS wird beim Konvertieren einer Zeichenvariablen in eine numerische Variable die Funktion INPUT() verwendet:

1
var_numeric = input(var_char, best12.);

In STATA kann diese Konvertierung entweder über die Funktion real() oder den Befehl destring erfolgen.

1
gen num_var = real(char_var);

Die Funktion real() arbeitet mit einer einzelnen Variablen. destring Befehl kann alle Zeichenvariablen in numerische in einem Rutsch umwandeln.

1
destring, repalce

Warnung

Wenn eine Zeichenvariable nicht numerische Zeichen enthält, wird sie nicht konvertiert. In einem solchen Fall können Sie den Befehl encode verwenden, obwohl er tatsächlich Kategorien generiert.

Eine ausführlichere Erklärung mit Beispielen finden Sie unter stats.idre.ucla.edu

Letzte Aktualisierung: 22.Mai 2020

You might also like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.