楼主: 一眼瞬间
5599 11

[原创博文] 有lag function,那有lead function不? [推广有奖]

  • 0关注
  • 1粉丝

讲师

50%

还不是VIP/贵宾

-

威望
0
论坛币
730 个
通用积分
0.0001
学术水平
0 点
热心指数
4 点
信用等级
0 点
经验
903 点
帖子
376
精华
0
在线时间
309 小时
注册时间
2010-3-14
最后登录
2023-8-19

楼主
一眼瞬间 发表于 2010-9-28 12:35:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想算未来两期和这期数据之差,

不知道用什么function呢?

或者能用其他什么办法解决不?

谢谢了~
二维码

扫码加我 拉你入群

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

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

关键词:function Lead TIO CTI Fun function

沙发
crackman 发表于 2010-9-28 12:42:47
你写一个数据集出来
我们看一下呢

藤椅
一眼瞬间 发表于 2010-9-28 12:55:48
是要算change from t to t+2;就是第t+2的减去第t期的,
就是不知道用啥公式算:
比如就下面这个数据集,
firm          date                ratio
17671        31DEC1997        0.1019117234
17671        31MAR1998        0.1014837626
17671        30JUN1998        0.1014837626
17671        30SEP1998        0.0964165733
17671        31DEC1998        0.0955767077
17671        31MAR1999        0.0954431088
17671        30JUN1999        0.0968409282
17671        30SEP1999        0.0968409282
17671        31DEC1999        0.097120492
17671        31MAR2000        0.097120492
17671        30JUN2000        0.097120492
17671        30SEP2000        0.097120492
17671        31DEC2000        0.0973109244
17671        31MAR2001        0.0972897457
17671        30JUN2001        0.1060292326
17671        30SEP2001        0.1061585366
17671        31DEC2001        0.106126181
17671        31MAR2002        0.1062881563
17671        30JUN2002        0.1077351485
17671        30SEP2002        0.1150739827
17671        31DEC2002        0.1158237667
17671        31MAR2003        0.1172424623
17671        30JUN2003        0.1176452426
17671        30SEP2003        0.1177231157

板凳
crackman 发表于 2010-9-28 13:32:50
用DIF

报纸
crackman 发表于 2010-9-28 13:50:39
data crackman;
input firm  date date9.  ratio ;
obs=_n_;
dev=dif2(ratio);
datalines;
17671 31DEC1997        0.1019117234
17671 31MAR1998        0.1014837626
17671 30JUN1998        0.1014837626
17671 30SEP1998        0.0964165733
17671 31DEC1998        0.0955767077
17671 31MAR1999        0.0954431088
17671 30JUN1999        0.0968409282
17671 30SEP1999        0.0968409282
17671 31DEC1999        0.097120492
17671 31MAR2000        0.097120492
17671 30JUN2000        0.097120492
17671 30SEP2000        0.097120492
17671 31DEC2000        0.0973109244
17671 31MAR2001        0.0972897457
17671 30JUN2001        0.1060292326
17671 30SEP2001        0.1061585366
17671 31DEC2001        0.106126181
17671 31MAR2002        0.1062881563
17671 30JUN2002        0.1077351485
17671 30SEP2002        0.1150739827
17671 31DEC2002        0.1158237667
17671 31MAR2003        0.1172424623
17671 30JUN2003        0.1176452426
17671 30SEP2003        0.1177231157
;
run;

地板
一眼瞬间 发表于 2010-9-28 14:03:41
crackman 发表于 2010-9-28 13:50
data crackman;
input firm  date date9.  ratio ;
obs=_n_;
dev=dif2(ratio);
datalines;
17671 31DEC1997        0.1019117234
17671 31MAR1998        0.1014837626
17671 30JUN1998        0.1014837626
17671 30SEP1998        0.0964165733
17671 31DEC1998        0.0955767077
17671 31MAR1999        0.0954431088
17671 30JUN1999        0.0968409282
17671 30SEP1999        0.0968409282
17671 31DEC1999        0.097120492
17671 31MAR2000        0.097120492
17671 30JUN2000        0.097120492
17671 30SEP2000        0.097120492
17671 31DEC2000        0.0973109244
17671 31MAR2001        0.0972897457
17671 30JUN2001        0.1060292326
17671 30SEP2001        0.1061585366
17671 31DEC2001        0.106126181
17671 31MAR2002        0.1062881563
17671 30JUN2002        0.1077351485
17671 30SEP2002        0.1150739827
17671 31DEC2002        0.1158237667
17671 31MAR2003        0.1172424623
17671 30JUN2003        0.1176452426
17671 30SEP2003        0.1177231157
;
run;
谢谢LS!
但是这样的话,返回的值会出现在第t+2个obervation上,lag 和dif都一样,就是不知道有没什么办法,可以让返回的值出现在t上,因为需要算t期未来相对于现在的改变。

7
一眼瞬间 发表于 2010-9-28 14:17:25
for reference,
I found a solution here:
http://www.rhinocerus.net/forum/ ... -lead-function.html

8
soporaeternus 发表于 2010-9-28 15:28:20
倒过来做可以吗?
Let them be hard, but never unjust

9
bobguy 发表于 2010-9-29 09:18:57
一眼瞬间 发表于 2010-9-28 12:35
想算未来两期和这期数据之差,

不知道用什么function呢?

或者能用其他什么办法解决不?

谢谢了~
There is no lead function in SAS.

But you can do it with in many ways.
here is a couple of ideas you can try.
1) point access option in data step.
2) merge the data set itself without a by statement

10
liudeng2005 发表于 2010-9-29 09:27:50
还是教授灵活,不要纠结于函数。
我就是我@!

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

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