Konverter mellem numerisk og Tegnvariabel

konvertering mellem numeriske og tegnvariabler er et af de hyppigst forekommende problemer ved behandling af datasæt. Denne artikel forklarer, hvordan du gør denne konvertering korrekt og effektivt.

Numerisk til Tegnlog

Antag, at der er et importeret datasæt med navnet filings, hvor cik er gemt som en numerisk variabel som vist nedenfor:

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

fordi cik har forskellige cifre, for at konvertere det numeriske cik til en tegnvariabel, er den naturlige procedure at padle den med førende nuller. For eksempel er cik (Central Indeksnøgle) i sig selv et 10-cifret tal, der bruges af SEC.

i SAS, konverter numerisk variabel til streng med førende nuller (forudsat at 10-cifret fast længde) udføres via PUT() funktion:

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

Tip

PUT()funktionen fungerer også i PROC SQL.

den genererede cik_char variabel er af format og informat ., og datasættet bliver:

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

i STATA kan du konvertere numerisk variabel til streng med førende nuller (forudsat at 6-cifret fast længde) kan opnås via funktionen string().

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

tegn til numerisk bogstav

i SAS bruger konvertering af en tegnvariabel til en numerisk funktion INPUT() :

1
var_numeric = input(var_char, best12.);

i STATA kan denne konvertering ske via enten real() funktion eller destring kommando.

1
gen num_var = real(char_var);

funktionen real() fungerer på en enkelt variabel. destring kommando kan konvertere alle tegnvariabler til numerisk på en gang.

1
destring, repalce

advarsel

hvis en tegnvariabel har ikke-numeriske tegn i den, konverteres den ikke. I et sådant tilfælde kan du vælge at bruge kommandoen encode, selvom den faktisk genererer kategorier.

en mere detaljeret forklaring med eksempler er tilgængelig på stats.idre.ucla.edu

sidste opdatering: 22. maj 2020

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.