楼主: the_fly_winds
9395 4

[程序分享] SAS关于向上lag的用法请教 [推广有奖]

  • 0关注
  • 1粉丝

博士生

5%

还不是VIP/贵宾

-

威望
0
论坛币
1187 个
通用积分
6.3200
学术水平
16 点
热心指数
24 点
信用等级
14 点
经验
2330 点
帖子
105
精华
0
在线时间
257 小时
注册时间
2014-9-28
最后登录
2024-4-11

30论坛币
  1. data a;
  2. do x=1 to 10;
  3. output;
  4. end;
  5. run;

  6. data a;
  7. set a;
  8. lag=lag(x);
  9. lag2=lag2(x);
  10. run;
复制代码
SAS中lag函数很简单, 可以进行滞后,如图

捕获.PNG

lag滞后一期,lag2函数滞后了2期,

那么SAS中如何实现"滞前"呢?, 如图, 已知序列x, 生成y这样一列

如何"滞前"2期, 3期呢???








最佳答案

learsaas 查看完整内容

为了30论坛币,就写一个案例吧:
关键词:如何实现

回帖推荐

learsaas 发表于3楼  查看完整内容

为了30论坛币,就写一个案例吧:
沙发
learsaas 发表于 2018-6-19 12:45:41 |只看作者 |坛友微信交流群
为了30论坛币,就写一个案例吧:
  1. data a;
  2.         do x=1 to 10;
  3.         output;
  4.         end;
  5. run;

  6. data b;
  7.         set a;
  8.         n=_n_;
  9. run;
  10. proc sort data=b;
  11.         by descending n;
  12. run;
  13. data b;
  14.         set b;
  15.         y=lag(x);
  16. run;
  17. proc sort data=b out=result(drop=n);
  18.         by n;
  19. run;
复制代码

使用道具

藤椅
learsaas 发表于 2018-6-19 14:20:00 |只看作者 |坛友微信交流群
方法一:还是lag,只是倒排序后lag。反向思维。
方法二:datastep.
方法三:如果你有SAS ETS模块,那么可以用proc expand。

使用道具

板凳
sxsyoh 发表于 2021-1-29 14:50:04 |只看作者 |坛友微信交流群
learsaas 发表于 2018-6-19 12:45
为了30论坛币,就写一个案例吧:
受益良多

使用道具

报纸
心升明月YX 发表于 2022-4-23 22:24:56 |只看作者 |坛友微信交流群
learsaas 发表于 2018-6-19 14:20
方法一:还是lag,只是倒排序后lag。反向思维。
方法二:datastep.
方法三:如果你有SAS ETS模块,那么可 ...
用expand怎么做呢

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 23:30