数学建模社区-数学中国

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

作者: 建不了的模。    时间: 2014-9-25 10:14
标题: lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:
2 C1 k& h, f% r1 {  E: x1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。
0 s0 f5 _0 G4 J4 {  m7 b, e2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。
! i5 [5 J8 @  q3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。
: T6 S# u1 z$ v: s$ L9 z
$ _6 X+ z( Y4 I( @% jhttp://support.sas.com/documentation/cd ... 212547.htm
( B: V7 ]- @6 S$ M: N0 vhttp://support.sas.com/documentation/cd ... ect048.htm
. R/ A+ e7 a, [1 a7 Jhttp://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