全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1574 5
2010-02-25
请问一下,sas 有办法计算"跨期"的数值吗?若我的数据如下:
1 2 3
4 5 6
7 8 9
;
要如何将第二排的5来减第一排的2这个值呢,有办法这样写吗?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-2-26 06:23:29
using the function of "lag" to create a new column

original   lag(original)
2                  
5                     2
8                     5
二维码

扫码加我 拉你入群

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

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

2010-2-26 07:37:35
benny10 发表于 2010-2-25 22:48
请问一下,sas 有办法计算跨期的数值吗?若我的数据如下:
1 2 3
4 5 6
7 8 9
;
要如何将第二排的5来减第一排的2这个值呢,有办法这样写吗?
Do you want to the result in the first row or the second row?
二维码

扫码加我 拉你入群

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

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

2010-2-26 09:55:49
data tmp;
input x y z;
tpy=lag(y);
datalines;
1 2 3
4 5 6
7 8 9
;

data diffData(keep=x y z);
set tmp;
if _N_ >1 then y=y-tpy;
run;

proc print noobs; run;

***output**;
                                          x    y    z

                                            1    2    3
                                            4    3    6
                                            7    3    9
二维码

扫码加我 拉你入群

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

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

2010-2-28 21:15:32
非常感谢大家的帮忙,我会试试看,若有问题会再向大家请教的!!
二维码

扫码加我 拉你入群

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

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

2010-3-1 12:06:10
进来学习了
但我同事说 lag 使用时容易出问题 所以要小心使用 呵呵
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群