Convertir entre Variables numéricas y de caracteres¶

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
data filings(drop=cik); set filings; cik_char = put(cik, z10.); run;

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
gen char_var = string(num_var,"%06.0f")

Carácter Numérico¶

En SAS, la conversión de una variable de caracteres a una numérico utiliza el INPUT() función:

1
var_numeric = input(var_char, best12.);

En STATA, esta conversión se puede hacer a través de cualquiera de los real() función o destring comando.

1
gen num_var = real(char_var);

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
destring, repalce

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

Última actualización: 22 de mayo de 2020

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.