Convertir entre variables numéricas y de caracteres es uno de los problemas más frecuentes al procesar conjuntos de datos. Este artículo explica cómo hacer esta conversión de forma correcta y eficiente.
Numérico a carácter¶
Suponga que hay un conjunto de datos importado llamado filings
, donde cik
se almacena como una variable numérica como se muestra a continuación:
cik | file_type | fecha de |
---|---|---|
1000229 | 8-K | 2011-09-30 |
100591 | 8-K | 2006-05-11 |
100826 | 8-K | 2009-06-30 |
93542 | 8-K | 2007-01-25 |
Porque cik
es de dígitos diferentes, para convertir los valores numéricos cik
en una variable de carácter, el procedimiento natural es para rellenar con ceros a la izquierda. Por ejemplo, cik
(Clave de índice Central) en sí es un número de 10 dígitos utilizado por SEC.
En SAS, convertir la variable numérica en cadena con ceros a la izquierda (suponiendo una longitud fija de 10 dígitos) se realiza a través de la función PUT()
:
123 |
|
La función Tip
PUT()
también funciona en PROC SQL
.
La variable generada cik_char
es de formato e informat .
, y el conjunto de datos se convierte en:
cik_char | file_type | fecha de |
---|---|---|
0001000229 | 8-K | 2011-09-30 |
0000100591 | 8-K | 2006-05-11 |
0000100826 | 8-K | 2009-06-30 |
0000093542 | 8-K | 2007-01-25 |
En STATA, convertir numérico de la variable de cadena con ceros a la izquierda (suponiendo 6 dígitos de longitud fija), se puede lograr a través de la string()
función.
1 |
|
Carácter Numérico¶
En SAS, la conversión de una variable de caracteres a una numérico utiliza el INPUT()
función:
1 |
|
En STATA, esta conversión se puede hacer a través de cualquiera de los real()
función o destring
comando.
1 |
|
El real()
funciona en una sola variable. el comando destring
puede convertir todas las variables de caracteres en numéricas de una sola vez.
1 |
|
Advertencia
Si una variable de carácter tiene caracteres no numéricos en ella, entonces no va a ser convertido. En tal caso, puede optar por usar el comando encode
, aunque de hecho está generando categorías.
Una explicación más detallada con ejemplos está disponible en stats.idre.ucla.edu