Konverter Mellom Numerisk Og Tegnvariabel¶

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

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

Tegn Til Numerisk¶

i SAS bruker konvertering av en tegnvariabel til en numerisk INPUT() – funksjonen:

1
var_numeric = input(var_char, best12.);

I STATA kan denne konverteringen gjøres via enten real() funksjon eller destring kommando.

1
gen num_var = real(char_var);

funksjonen 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, 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

Siste oppdatering: 22. Mai 2020

You might also like

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.