数学建模社区-数学中国

标题: lag函数的运行机制 [打印本页]

作者: 建不了的模。    时间: 2014-9-25 10:14
标题: lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:4 _6 E' b( w$ I+ R' E; {
1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。
* k: ?5 f: A7 \2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。5 f1 C7 w! d& \' I1 V5 n% x0 o
3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。8 M5 l+ G% v  c* B+ g

$ H) B% U! X# D) ehttp://support.sas.com/documentation/cd ... 212547.htm
  I1 ~- z7 s& I) ahttp://support.sas.com/documentation/cd ... ect048.htm
/ n! i. W: m( O4 P  o8 \6 jhttp://support.sas.com/forums/thread.js ... 673⶙# f; q9 G$ R: m
9 S6 A4 h9 ?7 y* i8 r

7 t( [7 o  H$ Q9 z% L4 N输出结果:$ H8 l* K5 o" M, q7 R0 s% g+ j" H
                          Obs    x    y1    y2    y3    z1    z2    z3    z4    z5    z6
/ z- C! o4 i2 a% Q( V) V$ _: s! G8 T# A" J' v0 h0 y$ x& Z
                           1     1     .     1     1     .     .     .     .     .     .
& l; W- _. a) |9 ^. C                           2     2     1     1     2     1     .     1     1     .     1+ B! X$ A6 `. P- m& A/ H3 F* B
                           3     3     2     1     3     2     2     2     2     2     .
. c% p" M. ^2 s                           4     4     3     1     4     3     3     3     3     3     .3 u- s  ~% ?* ^( K3 y! f2 H
                           5     5     4     1     5     4     4     4     4     4     2
: @% {% M) B! R* w# a7 ?1 v                           6     6     5     1     6     5     5     5     5     5     5, E6 `1 f3 I/ i" h$ ]

. w( h7 Q2 s. R2 ~/ w' K4 a; \
5 B! S8 }( |; R2 ^" u
作者: ゞ_轻描丶幸福的    时间: 2014-9-25 15:55
这个不太懂啊   学习一下吧
作者: 深V礼    时间: 2014-9-25 17:12
干的漂亮,发帖多多,收获多多
作者: 心碎的科学    时间: 2014-9-25 22:47
kankan




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5