SAS|lag和dif函数

sas数据集的操作主要是基于变量之间的,不是观测之间的。那么,如果我们需要进行观测之间的处理就需要用到lag和dif函数了。

lag函数

一般我们很容易认为lag就是返回当前参数的上一个观测值,实则不然。lag函数返回的是上一个lag函数运行时的参数,即lag(arguments)=上一次lag函数执行时的arguments。lag函数的一般形式为:lag(变量)、lag2(变量)、lag3(变量)、……

data example;
	input year arg;
	lag_arg=lag(arg);
	lag_arg2=lag2(arg);
	cards;
	2017 1
	2018 2
	2019 3
	2020 4
	2021 5
	;
	proc print;
run;

输出结果如下:

obsyeararglag_arglag_arg2
120171..
2201821.
32019321
42020432
52021543

dif函数

在不加任何条件的情况下,dif(x)=x-lag(x),类似地,dif2(x)=x-lag2(x)……;一般形式:dif(变量)、dif2(变量)、dif3(变量)……

data example;
	input x;
	dif_x=dif(x);
	datalines;
	5
	2
	9
	8
	;
	proc print;
run;

输出结果如下:

obsxdif_x
15.
22-3
397
48-1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值