Konvertering mellom numeriske og tegnvariabler er et av de vanligste problemene ved behandling av datasett. Denne artikkelen forklarer hvordan du gjør denne konverteringen riktig og effektivt.
Numerisk Til Tegn¶
Anta at det er et importert datasett som heter filings
, der cik
lagres 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
er av forskjellige sifre, for å konvertere den numeriske cik
til en tegnvariabel, er den naturlige prosedyren å plassere den med foranstilte nuller. For eksempel er cik
(Sentral Indeksnøkkel) i seg selv et 10-sifret tall som BRUKES AV SEK.
i SAS, konverter numerisk variabel til streng med ledende nuller (forutsatt at 10-sifret fast lengde) gjøres via PUT()
– funksjonen:
123 |
|
Tips
PUT()
funksjonen fungerer også i PROC SQL
.
den genererte cik_char
variabelen er av format og informat .
, og datasettet blir:
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, konvertere numerisk variabel til streng med ledende nuller (forutsatt 6-sifret fast lengde) kan oppnås via funksjonen string()
.
1 |
|
Tegn Til Numerisk¶
i SAS bruker konvertering av en tegnvariabel til en numerisk INPUT()
– funksjonen:
1 |
|
I STATA kan denne konverteringen gjøres via enten real()
funksjon eller destring
kommando.
1 |
|
funksjonen 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, blir den ikke konvertert. I så fall kan du velge å bruke kommandoen encode
, selv om den faktisk genererer kategorier.
en mer detaljert forklaring med eksempler er tilgjengelig på stats.idre.ucla.edu