Llega un gran número de visitas a AyD buscando como transformar en SAS variables caracter a numéricas y viceversa. Pero estas visitas están muy poco tiempo y me he planteado que los mensajes que hay dedicados al uso de PUT e INPUT no son claros. Por este motivo planteo un truco SAS de transformación de variables muy corto y concreto. Como es habitual lo vemos con ejemplos:

Transformar de caracter a numérico:


data uno;
char="2009";
num1=char*1;
num2=input(char,best16.);
run;
proc contents; quit;

Dos formas de hacerlo, multiplicando por 1 o bien con INPUT(variable,formato). Una transformación muy habitual, de caracter a fecha SAS:


data uno;
char="10/09/2009";
fecha=input(char,ddmmyy10.);
run;
proc contents; quit;Transformar de numérico a caracter:
data dos;
num=2009;
char=put(num,4.);
run;
proc contents; quit;
Transformamos con PUT(variable,formato). Creo que he dejado clara la metodología de todos modos si tenéis alguna duda o sugerencia... rvaquerizo@analisisydecision.es

3 pensiamientos en “Trucos SAS. Pasar de caracter a numérico y viceversa

  • octavio

    gracias

    Responder
  • JAL

    Para pasar de numérico a caracter la función CAT es una opción: CAT(variable)

    Responder
  • José

    Tengo una base en excel con varias columnas con fechas en formato texto debería estar en formato fecha pero no lo está (mmddyy) cuando importo los datos desde Sas tengo que cambiar a formato fecha manualmente desde las opciones de importación (fecha, MMDDYYw.d), la cuestión es que son 15 columnas y no quiero hacer esto cada vez que abro estas bases, ¿que codigo puedo usar con la base ya cargada en Sas para automatizar el proceso? Pd. soy nuevo en Sas

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *