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