LAG 函數

LAG. LAG(variable[, n])。 數字或字串。 前一個觀察值或是之前的 n 個觀察值中的變數值。 選用的第二個引數 n 必須是正整數;預設值為 1。 例如,prev4=LAG(gnp,4) 會在現行第四個觀察值之前,傳回 gnp 的值。 前四個觀察值的系統遺漏值為 prev4。

  • 結果的類型 (數值或字串) 與指定為第一個引數的變數相同。
  • 字串變數的前 n 個觀察值會設為空白。 例如,如果指定 PREV2=LAG (LNAME,2) ,則會將空白指派給 PREV2的前兩個觀察值。
  • LAG 與選取觀察值的指令 (例如 SELECT IFSAMPLE) 一起使用時,即使在這些指令之前指定,也會 LAG 計算觀察值 之後 觀察值選擇。 如需相關資訊,請參閱主題 指令順序

附註: 在一系列轉換指令中,不論指令順序為何,在沒有任何中間 EXECUTE 指令或其他讀取資料的指令的情況下,都會在所有其他轉換之後計算落階函數。 例如,

COMPUTE lagvar=LAG(var1).
COMPUTE var1=var1*2.

and

COMPUTE lagvar=LAG(var1).
EXECUTE.
COMPUTE var1=var1*2.

兩者產生不同結果的 lagvar 值,因為前者使用轉換值 var1而後者使用原值。