SASのラグおよび差分関数とは何ですか?これら2つの機能の背後にあるアプリケーションは何ですか?


ベストアンサー

こんにちは

この質問に答えてみましょう。 。 DATAステップは、変数または式の以前の値にアクセスするための2つの関数LAGとDIFを提供します。これらの関数は、級数のラグと差を計算するのに役立ちます。

簡単な方法で使用すると、LAGとDIFはラグと差の関数として機能します。ただし、名前にもかかわらず、DATAステップで使用できるLAG関数とDIF関数は、真のラグ関数と差分関数ではないことに注意してください。

むしろ、LAG関数とDIFは、記憶するキュー関数です。以前の呼び出しから引数値を返します。 LAG関数は、渡された値を記憶し、その結果として、前の呼び出しで渡された値を返します。 DIF関数は同じように機能しますが、現在の引数と記憶されている値の差を返します。 (LAGとDIFは、関数が最初に呼び出されたときに欠落した値を返します。)

真のラグ関数は、DATAステップLAGとのように、「前の呼び出し」の引数の値を返しません。 DIF関数。代わりに、真のラグ関数は、関数への以前の呼び出しのシーケンスに関係なく、「以前の観測」の引数の値を返します。したがって、真のラグ関数を使用するには、「以前の観測」が何であるかを明確にする必要があります。

データを時系列で並べ替えると、LAGとDIFが真のラグ関数と差分関数として機能します。疑わしい場合は、LAGおよびDIF機能を使用する前に、PROCSORTを使用してデータを並べ替えてください。 LAGとDIFが実際のラグと差の値ではない値を返す可能性がある観測値の欠落に注意してください

DATAステップは、任意の数の入力ファイルから任意の数の観測値を読み取ることができる強力なツールです。またはデータセット、任意の数の出力データセットを作成でき、任意の数の出力観測値を任意の出力データセットにすべて同じプログラムで書き込むことができます。したがって、一般に、DATAステッププログラムで「以前の観察」が何を意味するかは明確ではありません。 DATAステッププログラムでは、「以前の観察」は、この概念を意味のあるものにする簡単な方法でプログラムを記述した場合にのみ存在します。

一般に、以前の観察は明確に定義されていないため、 DATAステップの真のラグ関数または差分関数を作成することはできません。代わりに、DATAステップは、ラグと差異を簡単に計算できるキューイング関数を提供します。

この回答がお役に立てば幸いです

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です