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 |
|
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 |
|
Zeichen in numerisch¶
In SAS wird beim Konvertieren einer Zeichenvariablen in eine numerische Variable die Funktion INPUT()
verwendet:
1 |
|
In STATA kann diese Konvertierung entweder über die Funktion real()
oder den Befehl destring
erfolgen.
1 |
|
Die Funktion real()
arbeitet mit einer einzelnen Variablen. destring
Befehl kann alle Zeichenvariablen in numerische in einem Rutsch umwandeln.
1 |
|
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