数学建模社区-数学中国
标题:
lag函数的运行机制
[打印本页]
作者:
建不了的模。
时间:
2014-9-25 10:14
标题:
lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:
) P! q# W/ M3 `
1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。
2 x6 T' z' r0 m0 g
2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。
0 a7 m0 s* y2 F4 F* H- ^+ S
3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。
0 _7 f5 f& N' t4 O. B
' @% ^; d& a- r
http://support.sas.com/documentation/cd
... 212547.htm
. ~) A% o* s$ R
http://support.sas.com/documentation/cd
... ect048.htm
2 X) H% a$ M" W% e* n1 O! `/ ~+ T7 ^& X9 g
http://support.sas.com/forums/thread.js
... 673
0 X! p7 b$ D" h: N. G3 D
' L2 r y4 \' ^4 F
& K* r: ~! H3 S, Q
输出结果:
. ^# \; u/ ]! L( B) M
Obs x y1 y2 y3 z1 z2 z3 z4 z5 z6
' C1 O ]- ?, s9 k* L1 `* m
* {# g9 ]. c: o& W& @
1 1 . 1 1 . . . . . .
1 I, O; p# O7 x( ^0 ^1 W* M
2 2 1 1 2 1 . 1 1 . 1
, Y. O( h7 I H0 l" w0 b
3 3 2 1 3 2 2 2 2 2 .
, F3 _& p2 P+ y6 n$ S# \
4 4 3 1 4 3 3 3 3 3 .
) p1 r; `2 D' \$ I, t% r' ^6 N
5 5 4 1 5 4 4 4 4 4 2
. F1 Z1 Q3 |& Z% q5 Q8 Q- A9 y, K
6 6 5 1 6 5 5 5 5 5 5
2 B3 `; L7 ^0 O- h( o
) g# e( l: f( L- w
1 ]4 A! z6 V0 W7 \ B, A% l$ c L- a
作者:
ゞ_轻描丶幸福的
时间:
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