LAG 函数

LAGLAG(variable[, n])。 数值或字符串。 前一个案或前 n 个个案中的变量的值。 可选的第二个自变量 n 必须是正整数;缺省值为 1。 例如,prev4=LAG(gnp,4) 返回当前第 4 个个案的 gnp 的值。 前四个个案的 prev4 为系统缺失值。

  • 结果的类型 (数字或字符串) 与指定为第一个自变量的变量相同。
  • 字符串变量的前 n 个个案设置为空白。 例如,如果指定了 PREV2=LAG (LNAME,2) ,那么将对 PREV2的前两个个案指定空白。
  • LAG 与选择个案 (例如, SELECT IFSAMPLE) 的命令配合使用时, LAG 将对个案 之后 个案选择进行计数,即使在这些命令之前指定也是如此。 请参阅主题 命令顺序 以获取更多信息。

: 在一系列变换命令中,如果没有任何中间 EXECUTE 命令或其他读取数据的命令,那么将在所有其他变换后计算延迟函数,而不考虑命令顺序。 例如,

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

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

对于 lagvar 的值生成不同的结果,因为前者使用转换后的 var1 值,而后者使用原始值。