a numerikus és karakterváltozók közötti konvertálás az egyik leggyakrabban előforduló probléma az adatkészletek feldolgozása során. Ez a cikk elmagyarázza, hogyan kell ezt az átalakítást helyesen és hatékonyan elvégezni.
numerikus karakterből álló 0db
tegyük fel, hogy van egy filings
nevű importált adatkészlet, ahol a cik
numerikus változóként van tárolva, az alábbiak szerint:
cik | fájl_típus | dátum |
---|---|---|
1000229 | 8-K | 2011-09-30 |
100591 | 8-K | 2006-05-11 |
100826 | 8-K | 2009-06-30 |
93542 | 8-K | 2007-01-25 |
mivel a cik
különböző számjegyű, a cik
numerikus karakterváltozóvá konvertálásához a természetes eljárás az, hogy vezető nullákkal tölti be. Például, cik
(központi Index kulcs) maga egy 10 jegyű szám által használt SEC.
a SAS-ban konvertálja a numerikus változót karakterláncba vezető nullákkal (feltételezve, hogy a 10 jegyű rögzített Hosszúság) keresztül történik PUT()
funkció:
123 |
|
tipp
PUT()
funkció is működik PROC SQL
.
a generált cik_char
változó format és informat .
, és az adatkészlet lesz:
cik_char | fájl_típus | dátum |
---|---|---|
0001000229 | 8-K | 2011-09-30 |
0000100591 | 8-K | 2006-05-11 |
0000100826 | 8-K | 2009-06-30 |
0000093542 | 8-K | 2007-01-25 |
ban ben STATA, konvertálja a numerikus változót karakterláncba vezető nullákkal (feltételezve, hogy 6 számjegyű rögzített Hosszúság van) a string()
függvény.
1 |
|
a SAS-ban egy karakterváltozó numerikus változóvá konvertálása a INPUT()
függvényt használja:
1 |
|
a STATA-ban ez az átalakítás a real()
függvény vagy a destring
parancs segítségével végezhető el.
1 |
|
a real()
függvény egyetlen változón működik. destring
parancs képes átalakítani az összes karakter változók numerikus egy menetben.
1 |
|
figyelmeztetés
ha egy karakterváltozóban nem numerikus karakterek vannak, akkor nem konvertálódik. Ebben az esetben dönthet úgy, hogy a encode
parancsot használja, bár valójában kategóriákat generál.
részletesebb magyarázat a példákkal a következő címen érhető el: stats.idre.ucla.edu