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 |
|
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 |
|
tegn til numerisk bogstav
i SAS bruger konvertering af en tegnvariabel til en numerisk funktion INPUT()
:
1 |
|
i STATA kan denne konvertering ske via enten real()
funktion eller destring
kommando.
1 |
|
funktionen real()
fungerer på en enkelt variabel. destring
kommando kan konvertere alle tegnvariabler til numerisk på en gang.
1 |
|
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