楼主: yunzhonghai
6423 9

求问一个分组求滞后值的问题 [推广有奖]

  • 15关注
  • 4粉丝

讲师

8%

还不是VIP/贵宾

-

威望
0
论坛币
58 个
通用积分
1.0214
学术水平
5 点
热心指数
5 点
信用等级
1 点
经验
5785 点
帖子
291
精华
0
在线时间
443 小时
注册时间
2007-12-30
最后登录
2023-6-15

楼主
yunzhonghai 发表于 2012-3-28 15:48:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


具体程序如下,我想先按X分组,然后分别求y的滞后值。也就是说对于不同的x组,y滞后值的第一个值应该是缺失的。但是下面程序的结果往往将上一组的最后一个值作为下一组的第一个值,求正确的程序,谢谢!!

data a;
input x y @@;
datalines;
1 12
1 23
1 34
1 35
1 45
2 34
2 56
2 31
2 32
;
run;
data a;
set a;
lag_y=lag(y);
by x;
run;

运行结果,第6行lag_y值应该缺失,却错误为上一组45
运行结果
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Lines Input Data 具体程序 line 程序

沙发
mymine 发表于 2012-3-28 16:39:01
data a;
set a;
by x;
lag_y=lag(y);
if first.x then lag_y=.;
run;

藤椅
yunzhonghai 发表于 2012-3-28 16:51:38
mymine 发表于 2012-3-28 16:39
data a;
set a;
by x;
多谢指点
那如果求lag2(y)或者更大的滞后(例如lag14(y))呢?
我上边的数据是为说明问题,我正在处理的数据需要更高滞后

板凳
freerunning_sky 在职认证  发表于 2012-3-28 17:52:43
  1. data a;
  2. input x y @@;
  3. datalines;
  4. 1 12
  5. 1 23
  6. 1 34
  7. 1 35
  8. 1 45
  9. 2 34
  10. 2 56
  11. 2 31
  12. 2 32
  13. ;
  14. run;
  15. %let n=2;
  16. data a;
  17. set a;
  18. by x;
  19. retain index;
  20. if first.x then index=1;else
  21. index=index+1;
  22. lag_y=lag&n.(y);
  23. if index<=&n. then lag_y=.;
  24. drop index;
  25. run;
复制代码

报纸
yunzhonghai 发表于 2012-3-28 20:40:51
freerunning_sky 发表于 2012-3-28 17:52
谢谢,此为正解,问题解决了

地板
天堂之路 发表于 2012-8-8 13:22:52
非常感谢楼上的解答

7
天堂之路 发表于 2012-11-9 19:05:44
的确是非常好的一个解答哈哈哈

8
pingguzh 发表于 2012-11-20 17:02:06
没有注释啊
统计爱好

9
小丁WLAN 发表于 2016-4-11 17:32:27
yunzhonghai 发表于 2012-3-28 20:40
谢谢,此为正解,问题解决了
对于不同的滞后期需要分别编写一个程序呢还是一个程序就可以算出来,我现在需要计算到36阶的滞后

10
Benlaron 发表于 2017-6-4 13:45:55
Update:不知道有没有用,SAS 9.4里面有个process叫panel,可以生成面板内的滞后值。

Suppose data TEST has 3 variables, say id year and X.
Ex.
proc panel data = test;
       lag X(1) / out = test_lag;
       id id year;
run;

Then the lagged data will be placed in data TEST_LAG. For more details, plz see --help panel--
Have a good one.

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-24 09:02