楼主: the_fly_winds
10040 4

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

  • 0关注
  • 1粉丝

已卖:168份资源

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
1139 个
通用积分
4.9700
学术水平
16 点
热心指数
24 点
信用等级
14 点
经验
2333 点
帖子
106
精华
0
在线时间
264 小时
注册时间
2014-9-28
最后登录
2025-6-4

楼主
the_fly_winds 发表于 2018-6-19 12:45:40 |AI写论文
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
拉您进交流群
GMT+8, 2026-1-17 13:00