Was ist die Lag- und Diff-Funktion in SAS? Welche Anwendung steckt hinter diesen beiden Funktionen?


Beste Antwort

Hallo,

Lassen Sie mich versuchen, diese Frage nach meinem Verständnis zu beantworten . Der Schritt DATA bietet Ihnen zwei Funktionen, LAG und DIF, für den Zugriff auf vorherige Werte einer Variablen oder eines Ausdrucks. Diese Funktionen sind nützlich für die Berechnung von Verzögerungen und Unterschieden von Serien.

Bei einfacher Verwendung fungieren LAG und DIF als Verzögerungs- und Differenzfunktionen. Es ist jedoch wichtig zu beachten, dass die im DATA-Schritt verfügbaren LAG- und DIF-Funktionen trotz ihres Namens keine echten Verzögerungs- und Differenzfunktionen sind.

LAG und DIF sind vielmehr Warteschlangenfunktionen, die sich erinnern und Argumentwerte aus früheren Aufrufen zurückgeben. Die LAG-Funktion merkt sich den Wert, den Sie an sie übergeben haben, und gibt als Ergebnis den Wert zurück, den Sie beim vorherigen Aufruf an sie übergeben haben. Die DIF-Funktion funktioniert genauso, gibt jedoch die Differenz zwischen dem aktuellen Argument und dem gespeicherten Wert zurück. (LAG und DIF geben beim ersten Aufruf der Funktion einen fehlenden Wert zurück.)

Eine True-Lag-Funktion gibt nicht den Wert des Arguments für den „vorherigen Aufruf“ zurück, ebenso wie der DATA-Schritt LAG und DIF-Funktionen. Stattdessen gibt eine echte Verzögerungsfunktion den Wert ihres Arguments für die „vorherige Beobachtung“ zurück, unabhängig von der Reihenfolge der vorherigen Aufrufe der Funktion. Damit eine echte Verzögerungsfunktion möglich ist, muss klar sein, was die „vorherige Beobachtung“ ist.

Wenn die Daten chronologisch sortiert sind, wirken LAG und DIF als echte Verzögerungs- und Differenzfunktionen. Verwenden Sie im Zweifelsfall PROC SORT, um Ihre Daten zu sortieren, bevor Sie die LAG- und DIF-Funktionen verwenden. Achten Sie auf fehlende Beobachtungen, die dazu führen können, dass LAG und DIF Werte zurückgeben, die nicht den tatsächlichen Verzögerungs- und Differenzwerten entsprechen.

Der Schritt DATA ist ein leistungsstarkes Tool, mit dem Sie eine beliebige Anzahl von Beobachtungen aus einer beliebigen Anzahl von Eingabedateien lesen können oder Datensätze, können eine beliebige Anzahl von Ausgabedatensätzen erstellen und eine beliebige Anzahl von Ausgabelbeobachtungen in einen der Ausgabedatensätze schreiben, alle im selben Programm. Somit ist im Allgemeinen nicht klar, was „vorherige Beobachtung“ in einem DATA-Schrittprogramm bedeutet. In einem DATA-Schrittprogramm existiert die „vorherige Beobachtung“ nur, wenn Sie das Programm auf eine einfache Weise schreiben, die dieses Konzept aussagekräftig macht.

Da die vorherige Beobachtung im Allgemeinen nicht klar definiert ist, ist dies der Fall Es ist nicht möglich, echte Verzögerungs- oder Differenzfunktionen für den DATA-Schritt auszuführen. Stattdessen bietet der DATA-Schritt Warteschlangenfunktionen, mit denen sich Verzögerungen und Unterschiede leicht berechnen lassen.

Ich hoffe, diese Antwort hilft

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.