数学建模社区-数学中国

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

作者: 建不了的模。    时间: 2014-9-25 10:14
标题: lag函数的运行机制
找了一些资料,发现lag函数的运行机制大概是这样:# h3 n* Y) L1 Q2 B- L% t( F& G
1.lag(x)是一个队列(queue)函数,每次执行,从队列的起始读取数值并将该值移除出队列,队列中的剩余值上移,x的当前值进入队列末尾。因此首次执行后,lag(x)值为missing,队列中只有1个值--即x的当前值。7 B! i) ~6 O  B7 H  R
2.只有当lag(x)被执行后,x的当前值才会被读入队列中。因此,如果使用条件语句,不符合条件时,lag(x)不被执行,当前的x值也不会进入队列,从而不会出现在lag(x)的结果中。
( Y' |4 a7 t8 h/ T9 U. C( I3.SAS语句内的lag函数是无关的,即使执行的是同样的lag(x)。, Y2 R$ X% E4 U8 W

. H" B* t6 E: n3 S, ^( v9 ~http://support.sas.com/documentation/cd ... 212547.htm& R6 n$ c8 k0 X, q4 ]( G
http://support.sas.com/documentation/cd ... ect048.htm5 Y: B+ U5 [4 c, u" t
http://support.sas.com/forums/thread.js ... 673⶙' _* ~/ l4 a: l% `# X1 P

8 F: |1 _, Q$ D& O* u" w% {5 s* b! b' y2 ]- H9 N, z4 c
输出结果:2 V/ K, P6 Q1 \! s7 j
                          Obs    x    y1    y2    y3    z1    z2    z3    z4    z5    z6
" V1 u! s/ G6 Y( P. Q  x* S: ~
! f1 u7 D$ Z0 n                           1     1     .     1     1     .     .     .     .     .     .+ R+ O% \7 q# V' T9 ]
                           2     2     1     1     2     1     .     1     1     .     14 J) v) |. f/ g* f6 B$ O* m) z
                           3     3     2     1     3     2     2     2     2     2     .
" u) ?$ a3 s* j$ ^4 z" A1 T0 E- {( R8 i0 ^                           4     4     3     1     4     3     3     3     3     3     .% }# k7 r  a, h( p1 Y1 t
                           5     5     4     1     5     4     4     4     4     4     2( B% W6 i) p1 s2 _7 b
                           6     6     5     1     6     5     5     5     5     5     5* E% g; x8 p8 N  R. G3 E, U
9 q: R6 o( n3 Q7 V, X2 l: z

3 C0 t) r- p; X  x; l
作者: ゞ_轻描丶幸福的    时间: 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