Funciones Sas

La función LAG de SAS

La función LAG de SAS nos devuelve el valor de la observación n-n de la variable indicada. Me explico con un ejemplo:

data lagn;

do i=1 to 10;

lag_1=lag(i);

lag_2=lag2(i);

lag_3=lag3(i);

lag_4=lag4(i);

lag_5=lag5(i);

lag_6=lag6(i);

output;end;

run;

Esto produce:

lag.PNG
LAG(i) nos da el valor de i para la observación anterior, LAG2(i) nos da el valor de las 2 observaciones anteriores,… En el caso de encontrarnos en las primeras observaciones el valor que devuelve es el missing. Con ella podemos evitar trabajar con RETAIN a la hora de hacer sumas acumuladas:

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 desamos realizar una diferencia entre ellas:

data _null_;

 y=20070101;

 m=20080110;

 dif=m-y; put dif;

run;

En el log obtenemos que la diferencia entre estas 2 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). Para conseguir del valor AAAAMMDD el mes, el día y el año emplearemos las funciónes MOD para calcular el módulo e INT para obtener la parte entera de una operación:

Trabajo con fechas SAS. Funciones fecha

En las entregas anteriores del monográfico sobre fechas SAS hemos estudiado como almacena internamente las fechas el sistema y los formatos más prácticos que disponemos para visualizarlas. En esta última entrega veremos algunas de las funciones de fecha hora de las que dispone SAS. Las funciones las vamos a dividir en 4 grupos:

  • Funciones de extracción de fecha
  • Funciones de creación de fecha
  • Funciones de duración
  • Funciones de intervalo

Las funciones de extracción de fecha nos permiter «extraer» información de variables de fecha/hora, veamos un ejemplo para extraer la fecha y la hora de una variable fecha/hora: