数学建模社区-数学中国
标题:
lag函数的运行机制
[打印本页]
作者:
建不了的模。
时间:
2014-9-25 10:14
标题:
lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:
% \* }' w% z2 U
1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。
% K3 j4 m: f3 e/ |- Y. I
2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。
- @% w, y# }9 o2 p2 _
3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。
( F2 E0 a: ` D
1 t( Y7 S9 B& d7 o( P9 `* s
http://support.sas.com/documentation/cd
... 212547.htm
1 i0 _$ c k6 F
http://support.sas.com/documentation/cd
... ect048.htm
6 l3 ]% X4 z" t& [0 ?
http://support.sas.com/forums/thread.js
... 673
( I( x. Y/ _ B; ~+ i5 K
7 E: G& n" V; g* I m- d) F
( G5 U6 D Z1 O! \# A( h" P
输出结果:
# x% l4 ?8 h/ \5 n' R
Obs x y1 y2 y3 z1 z2 z3 z4 z5 z6
/ C2 M; Z6 \# m' b* x: m( [6 g, l! s
! Z& l# m2 C4 t; }& {5 M( V9 R
1 1 . 1 1 . . . . . .
/ C$ V5 r% E+ F
2 2 1 1 2 1 . 1 1 . 1
. t4 r8 ^; M5 \7 z
3 3 2 1 3 2 2 2 2 2 .
' ^: c9 q4 K. ?# a& R: \5 R3 y
4 4 3 1 4 3 3 3 3 3 .
2 a' f; o. @/ [2 M' D2 S
5 5 4 1 5 4 4 4 4 4 2
* u) C' ^* \1 @/ V) z
6 6 5 1 6 5 5 5 5 5 5
* e! ?+ v, G4 ]( G3 |% P& q: N
1 M* @; O, ?+ t$ W
' |6 y6 D) E- ~2 u# T* J/ 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