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 |
|
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 |
|
caracter numeric
în Sas, conversia unei variabile de caractere într-una numerică utilizează funcția INPUT()
:
1 |
|
în STATA, această conversie se poate face fie prin real()
funcție sau destring
comandă.
1 |
|
funcția real()
funcționează pe o singură variabilă. destring
comanda poate converti toate variabilele de caractere în numerice într-un du-te.
1 |
|
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