conversia între variabila numerică și de caractere

conversia între variabilele numerice și de caractere este una dintre cele mai frecvent întâlnite probleme la procesarea seturilor de date. Acest articol explică cum se face această conversie corect și eficient.

Numeric până la caracter

presupunem că există un set de date importat numit filings, unde cik este stocat ca o variabilă numerică așa cum se arată mai jos:

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

deoarece cik este de cifre diferite, pentru a converti numericul cik într-o variabilă de caractere, procedura naturală este să o tamponați cu zerouri de conducere. De exemplu, cik (cheie Centrală Index) în sine este un număr de 10 cifre utilizat de SEC.

în Sas, conversia variabilei numerice în șir cu zerouri de conducere (presupunând o lungime fixă de 10 cifre) se face prin funcția PUT() :

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

sfat

PUT() funcția funcționează și în PROC SQL.

variabila cik_char generată este de format și informat ., iar setul de date devine:

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

în STATA, conversia variabilei numerice în șir cu zerouri de conducere (presupunând o lungime fixă de 6 cifre) poate fi realizată prin intermediul funcției string().

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

caracter numeric

în Sas, conversia unei variabile de caractere într-una numerică utilizează funcția INPUT() :

1
var_numeric = input(var_char, best12.);

în STATA, această conversie se poate face fie prin real() funcție sau destring comandă.

1
gen num_var = real(char_var);

funcția real() funcționează pe o singură variabilă. destring comanda poate converti toate variabilele de caractere în numerice într-un du-te.

1
destring, repalce

avertisment

dacă o variabilă de caractere are caractere non-numerice în ea, atunci nu va fi convertită. Într-un astfel de caz, puteți alege să utilizați comanda encode, deși de fapt generează categorii.

o explicație mai detaliată cu exemple este disponibilă la stats.idre.ucla.edu

Ultima actualizare: 22 mai 2020

You might also like

Lasă un răspuns

Adresa ta de email nu va fi publicată.