La conversione tra variabili numeriche e caratteri è uno dei problemi più frequenti durante l’elaborazione dei set di dati. Questo articolo spiega come eseguire questa conversione in modo corretto ed efficiente.
Da numerico a carattere¶
Si supponga che esista un set di dati importato denominato filings
, dove cik
è memorizzato come variabile numerica come mostrato di seguito:
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 |
Perché cik
è di cifre diverse, per la conversione numerica cik
in una variabile di tipo carattere, il procedimento naturale e ‘ quello di riempire con zeri iniziali. Per esempio, cik
(Centrale, la Chiave di Indice) di per sé è un numero di 10 cifre utilizzato dal SEC.
In SAS, la conversione numerica variabile stringa con zeri iniziali (supponendo di 10 cifre di lunghezza fissa) viene eseguito tramite PUT()
funzione:
123 |
|
Suggerimento
PUT()
funzione funziona anche in PROC SQL
.
La variabile generata cik_char
è di formato e informat .
e il set di dati diventa:
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 |
In STATA, la conversione numerica variabile stringa con zeri iniziali (supponendo di 6 cifre di lunghezza fissa) può essere raggiunto tramite l’ string()
funzione.
1 |
|
Carattere Numerico¶
In SAS, la conversione di una variabile carattere numerico utilizza il INPUT()
funzione:
1 |
|
In STATA, questa conversione può essere fatto tramite o destring
comando.
1 |
|
La funzione real()
funziona su una singola variabile. destring
comando può convertire tutte le variabili di carattere in numerico in una volta sola.
1 |
|
Warning
Se una variabile di caratteri contiene caratteri non numerici, non verrà convertita. In tal caso, è possibile scegliere di utilizzare il comando encode
, anche se in realtà sta generando categorie.
Una spiegazione più dettagliata con esempi è disponibile all’indirizzo stats.idre.ucla.edu