Transformar variables en SAS. Carácter a numérico

Muchas visitas a este sitio son búsquedas de Google que plantean la problemática que surge al transformar variables carácter a numéricas y viceversa con SAS. Las palabras habituales son “transformar texto a número SAS”, “cómo paso de variable string a numérica en SAS”, “pasar de carácter a fecha en SAS”, “SAS transformar fecha numérica en texto”… son todas búsquedas que han generado mucho tiempo de estancia en el sitio, a pesar de que no existía un mensaje específico. En el siguiente monográfico vamos a tratar estas conversiones. De esta forma, se crearán una serie de dos posts que pueden ser un interesante material de consulta para profesionales y estudiantes que trabajen con SAS. ...

3 de diciembre de 2008 · rvaquerizo

Macros SAS. Hacer 0 los valores missing de un dataset

La siguiente macro de SAS nos permite transformar los valores perdidos (missing) en valor 0 para todas las variables de un dataset. Para todas, para todas las numéricas. Esto es muy importante porque en ocasiones es necesario distinguir el valor 0 del valor missing (.). Pero puede ser muy práctica si vamos a emplear procedimientos que han de distinguir valores perdidos o, simplemente, si deseamos que nuestra tabla tenga otro aspecto. ...

27 de noviembre de 2008 · rvaquerizo

La confianza en el sector financiero

La primera subasta del Fondo de Liquidez del gobierno español ha sido un fracaso; esto no es una opinión: no llegar ni al 50% subastado es un fracaso. Una de las medidas estrella contra la crisis financiera está teniendo muy poca aceptación en la banca española. Sólo han acudido unas pocas entidades, y algunas de ellas podemos considerar que su cúpula directiva es afín al gobierno que ha puesto en marcha esta medida. Entonces se plantean dos cuestiones fundamentales: ...

24 de noviembre de 2008 · rvaquerizo

Truco Excel. Nuestra propia función redondear en Excel

Hay operaciones que pueden ser muy habituales de hacer con Excel y para las que necesitaríamos una función propia que las realizara. A continuación, vamos a plantear una situación en la que es especialmente útil crear una función específica y guardarla en el libro de macros personal para utilizarla en nuestras sesiones. En este caso concreto, vamos a crear una función que nos redondee un número a 0 o 0,5; es decir, 6,3 valdría 6 y 6,7 valdría 6,5. Para realizarlo sin una función específica emplearíamos múltiples funciones de Excel, por ejemplo: ...

21 de noviembre de 2008 · rvaquerizo

Macros SAS. Transformar un numérico a fecha

A continuación, vamos a plantear una macro de SAS bastante sencilla que nos permitirá transformar valores numéricos del tipo 20080607 (fechas en formato AAAAMMDD pero que son numéricas) a valores fecha en SAS que nos permitirán realizar operaciones. Siguiendo el sistema de todos los mensajes de AyD, trabajaremos con ejemplos para estudiar su utilidad. Partimos de dos fechas en formato AAAAMMDD y deseamos realizar una diferencia entre ellas: data _null_; y = 20070101; m = 20080110; dif = m - y; put "Diferencia incorrecta: " dif; run; En el log obtenemos que la diferencia entre estas dos fechas es 10009; necesitamos transformarlas en variables numéricas pero del tipo fecha. Tenemos múltiples posibilidades para realizar esta transformación, pero en este caso voy a emplear la función de creación de fecha en SAS MDY(mes, día, año). ...

20 de noviembre de 2008 · rvaquerizo

Trabajo con fechas SAS. Funciones fecha

En las entregas anteriores del monográfico sobre fechas SAS hemos estudiado cómo almacena internamente las fechas el sistema y los formatos más prácticos de los que disponemos para visualizarlas. En esta última entrega, veremos algunas de las funciones de fecha y hora de las que dispone SAS. Las funciones las vamos a dividir en cuatro grupos: Funciones de extracción de fecha. Funciones de creación de fecha. Funciones de duración. Funciones de intervalo. Funciones de extracción de fecha Nos permiten «extraer» información de variables de fecha/hora. Veamos un ejemplo para extraer la fecha y la hora de una variable fecha-hora (datetime): ...

17 de noviembre de 2008 · rvaquerizo

Trabajo con fechas SAS. Formatos de fecha SAS más utilizados

En esta nueva entrega del monográfico de fechas SAS, vamos a estudiar algunos formatos. Un formato es la forma en la que visualizamos una variable. El valor 17327 es un número sin significado aparente, pero el 20 de junio de 2007 es una fecha comprensible. En la anterior entrega estudiamos cómo SAS guarda las fechas como variables numéricas (número de días transcurridos desde el 1 de enero de 1960). Las fechas-hora se guardan como el número de segundos transcurridos. Con los distintos formatos, nosotros podremos visualizar estas variables numéricas de SAS. Por ejemplo: ...

10 de noviembre de 2008 · rvaquerizo

Trabajo con fechas SAS. Introducción

Debido al gran número de búsquedas que llegan a AyD con el tema de las fechas y horas de SAS, me he decidido a realizar un pequeño monográfico sobre estas variables en SAS. Principalmente se estudiará: Introducción a las fechas y horas SAS. Formatos de fecha y hora en SAS. Funciones de fecha y hora en SAS. En esta primera entrega del monográfico, veremos cómo se guardan internamente las variables fecha en SAS y cómo hacemos referencia a ellas dentro de nuestros pasos DATA o procedimientos. ...

7 de noviembre de 2008 · rvaquerizo

Macros SAS. Ordenar alfabéticamente las variables de un dataset

Si deseamos ordenar alfabéticamente las variables de un conjunto de datos SAS para facilitar la realización de sumatorios masivos (importes, saldos…) y el dataset está desordenado, os planteo una macro sencilla que trabaja con una de las vistas más útiles de SASHELP. La macro permite establecer qué variables deseamos que aparezcan primero, selecciona el resto de nombres, los ordena alfabéticamente y, mediante un PROC APPEND (más rápido que un paso DATA), crea el fichero SAS con las variables ordenadas: ...

6 de noviembre de 2008 · rvaquerizo

Truco SAS. Función para contar caracteres

Si deseamos contar cuántas veces aparece un carácter dentro de una cadena en SAS, nos encontramos con que no existe ninguna función de texto específica en SAS para ello. No obstante, podemos utilizar otras funciones de texto existentes. La idea es determinar el length de la cadena con el carácter en cuestión y restarle el length de la cadena sin dicho carácter. Es decir, ¿cuántas “A” hay en la frase “Menuda crisis financiera”? Longitud con “A” y sin espacios = 22; longitud sin “A” y sin espacios = 19; luego 22 - 19 = 3 aes. Para este ejemplo no se tienen en cuenta los espacios en blanco. Veamos el programa en SAS: ...

27 de octubre de 2008 · rvaquerizo