La mejor respuesta
Hola,
Permítanme intentar responder a esta pregunta si tengo entendido . El paso DATA le proporciona dos funciones, LAG y DIF, para acceder a los valores anteriores de una variable o expresión. Estas funciones son útiles para calcular retrasos y diferencias de series.
Cuando se usan de manera simple, LAG y DIF actúan como funciones de retraso y diferencia. Sin embargo, es importante tener en cuenta que, a pesar de sus nombres, las funciones LAG y DIF disponibles en el paso DATA no son verdaderas funciones de retraso y diferencia.
Más bien, LAG y DIF son funciones de cola que recuerdan y devuelve valores de argumentos de llamadas anteriores. La función LAG recuerda el valor que le pasa y devuelve como resultado el valor que le pasó en la llamada anterior. La función DIF funciona de la misma manera pero devuelve la diferencia entre el argumento actual y el valor recordado. (LAG y DIF devuelven un valor faltante la primera vez que se llama a la función).
Una función de retraso verdadera no devuelve el valor del argumento de la «llamada anterior», como lo hace el paso de DATOS LAG y Funciones DIF. En cambio, una función de retraso verdadera devuelve el valor de su argumento para la «observación anterior», independientemente de la secuencia de llamadas anteriores a la función. Por lo tanto, para que sea posible una verdadera función de retraso, debe quedar claro cuál es la «observación anterior».
Si los datos se ordenan cronológicamente, entonces LAG y DIF actúan como verdaderas funciones de retraso y diferencia. En caso de duda, utilice PROC SORT para ordenar sus datos antes de utilizar las funciones LAG y DIF. Tenga cuidado con las observaciones faltantes, que pueden hacer que LAG y DIF devuelvan valores que no son los valores reales de retraso y diferencia
El paso DATA es una herramienta poderosa que puede leer cualquier número de observaciones de cualquier número de archivos de entrada o conjuntos de datos, puede crear cualquier número de conjuntos de datos de salida y puede escribir cualquier número de observaciones de salida en cualquiera de los conjuntos de datos de salida, todo en el mismo programa. Por tanto, en general, no está claro qué significa «observación previa» en un programa de pasos de DATOS. En un programa de pasos de DATOS, la «observación previa» existe solo si escribe el programa de una manera simple que hace que este concepto sea significativo.
Dado que, en general, la observación anterior no está claramente definida, es No es posible realizar funciones de retardo o diferencia verdaderas para el paso DATA. En cambio, el paso DATA proporciona funciones de cola que facilitan el cálculo de retrasos y diferencias.
Espero que esta respuesta ayude