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