数学建模社区-数学中国
标题:
lag函数的运行机制
[打印本页]
作者:
建不了的模。
时间:
2014-9-25 10:14
标题:
lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:
2 C1 k& h, f% r1 { E: x
1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。
0 s0 f5 _0 G4 J4 { m7 b, e
2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。
! i5 [5 J8 @ q
3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。
: T6 S# u1 z$ v: s$ L9 z
$ _6 X+ z( Y4 I( @% j
http://support.sas.com/documentation/cd
... 212547.htm
( B: V7 ]- @6 S$ M: N0 v
http://support.sas.com/documentation/cd
... ect048.htm
. R/ A+ e7 a, [1 a7 J
http://support.sas.com/forums/thread.js
... 673
" ]7 l; t. i& [4 g& a1 A
' ?" ~5 e9 U+ B! F* h, q! {
" ~4 A- Z: m, k* o
输出结果:
7 z0 j# |" u' v! ]# h6 ^
Obs x y1 y2 y3 z1 z2 z3 z4 z5 z6
; M7 r$ V' G* e' S/ ~4 |% S
5 C! @% X" t+ a# Y$ Q
1 1 . 1 1 . . . . . .
% o" `7 X" F) d4 Y" E3 ^1 t3 y
2 2 1 1 2 1 . 1 1 . 1
+ }1 l( G+ w1 s
3 3 2 1 3 2 2 2 2 2 .
# N$ x/ b- }9 m+ M/ u* Z
4 4 3 1 4 3 3 3 3 3 .
6 w1 n: P( Y0 J" M# w: M2 P/ \
5 5 4 1 5 4 4 4 4 4 2
# a# [; _6 r4 P; o
6 6 5 1 6 5 5 5 5 5 5
( k% s3 z5 Q4 J& U
/ I, F' L; h0 Z
1 j6 k% _& d1 \/ E% s$ m6 s8 K
作者:
ゞ_轻描丶幸福的
时间:
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