数学建模社区-数学中国

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

作者: 建不了的模。    时间: 2014-9-25 10:14
标题: lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:5 [0 e/ I5 j: ]; p! A
1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。0 L9 ]) g! d0 p6 R  M
2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。$ b( K$ N0 ^8 U# E
3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。
6 J( F2 ?% b5 `* s: P, z. C5 Y) U' s7 R9 g& M' ]) o/ W( a
http://support.sas.com/documentation/cd ... 212547.htm& l8 h! V: |$ p' d6 v, w
http://support.sas.com/documentation/cd ... ect048.htm
* e2 F& v. m! v" a7 A" ?5 W) ahttp://support.sas.com/forums/thread.js ... 673⶙1 l. w; h8 U: K2 y0 q: R
: O' ^& A9 r! W: J( z+ D
6 q& S; Q9 Q- G3 H$ N
输出结果:
& _- @' P; o5 ?' ]                          Obs    x    y1    y2    y3    z1    z2    z3    z4    z5    z6
+ d$ J9 O0 d6 @- Q6 \" f! d  I
& j8 T( z, j+ t& E& \; J7 U                           1     1     .     1     1     .     .     .     .     .     .
8 {7 |) C2 _; H9 I9 C- o                           2     2     1     1     2     1     .     1     1     .     1# z2 D4 n/ _: s
                           3     3     2     1     3     2     2     2     2     2     .
! z0 P* E1 n( y5 Y  U! J  \                           4     4     3     1     4     3     3     3     3     3     .2 `$ ]/ n0 G( p0 x' E
                           5     5     4     1     5     4     4     4     4     4     2! Y9 }* I. b1 m3 f% h
                           6     6     5     1     6     5     5     5     5     5     5
& h+ u& Y8 W, d
0 `1 C: w2 i  U
  D; |. R  ]; v8 g
作者: ゞ_轻描丶幸福的    时间: 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