konvertálás numerikus és Karakterváltozók között

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
data filings(drop=cik); set filings; cik_char = put(cik, z10.); run;

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
gen char_var = string(num_var,"%06.0f")

a SAS-ban egy karakterváltozó numerikus változóvá konvertálása a INPUT() függvényt használja:

1
var_numeric = input(var_char, best12.);

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
gen num_var = real(char_var);

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
destring, repalce

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

Utolsó frissítés: Május 22, 2020

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.