Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我迷失了滞后功能;下面是我正在尝试做的事情。
data out; set in; by a; y = 0.5 ; y = lag(y) * ( 1 - x); end; run;
“in”表只有 X 和序列值 A,我想要的是创建“out”表,y 值以“0.5”开头,然后 Y 的其余部分来自前一个 Y 值的计算乘以 (1- X) => Y = 滞后 * ( 1 - X )
我正在尝试使用滞后功能,但它确实给了我想要的东西..
请帮忙。谢谢。
LAG 函数对正在读入的数据起作用。由于输入数据集中不存在变量 y,因此 LAG 函数不会按您的意愿工作。
而是使用 RETAIN 语句来保存 y 的先前值。
data in; input A x; datalines; 1 0.25 2 0.16 3 0.1 4 0.5 5 0.6 data out; set in; by A; retain y 0.5; if _n_>1 then y=y*(1-x); run;