lag:返回的是上一次lag函数运行时的实参,即lag(argument)=上一次lag函数执行时的argument

retain:对变量进行值的初始化和保留到下一个迭代步

_n_:data步的自动变量,_n_表示观测的序号

retain函数

lag函数

大家也许会简单的以为lag函数返回当前数据的上一个值,其实不是,看下面的例子

为什么lag(3)是空的呢,3的上一个值不是1吗?所以,记住:lag返回的是上一次lag函数运行时的实参,即lag(argument)=上一次lag函数执行时的argument。在这个例子中,因为只有当x>2时才会调用lag,所以第一次调用lag时,x=3;当x=5时,第二次调用lag,此时lag(5)=3

另外,根据lag可以推测出lag2,lag3的用法

SAS学习笔记4 基本运算语句(lag、retain、_n_函数)的更多相关文章

  1. SAS学习笔记43 宏语句

    流程控制 %GOTO语句与%label语句是结合起来使用的.首先通过%label语句定义一个位置,使用%GOTO语句可直接将程序的执行位置跳到该label标记位置,达到控制程序执行顺序的目的.可实现与 ...

  2. SAS学习笔记7 合并语句(set、merge函数)

    set函数:纵向合并数据集 set语句进行纵向合并.set语句的作用是将若干个数据集依次纵向连接,并存放到data语句建立的数据集中.若set后面只有一个数据集,此时相当于复制的作用 注:data语句 ...

  3. SAS学习笔记35 options语句

  4. SAS学习笔记32 select语句

  5. SAS学习笔记8 循环语句(do函数)

    do-end函数

  6. SAS学习笔记6 算数语句(sum、mean、min、max函数)

    sum:求和 mean:平均值 min:最小值 max:最大值

  7. SAS学习笔记18 length、lengthn、lengthc函数

  8. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...

  9. SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(3)变量操作.观测值操作.SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 ...

随机推荐

  1. 【Python代码】随机抽取文件名列表NameList中的Name作为训练集

    #!/usr/bin/env python #coding=utf-8 #随机抽取一部分图片作为测试集 import random NameList=[]#存储所有图片名字 ''' NameListP ...

  2. 报错:使用java api连接redis集群时报错 READONLY You can't write against a read only slave.

    报错: READONLY You can’t write against a read only slave. 报错原因: 因为连接的是从节点,从节点只有读的权限,没有写的权限 解决方案: 进入red ...

  3. activemq jmx

    增加: -Djava.rmi.server.hostname=<IP addr>

  4. OpenJudge计算概论-分数求和

    /*====================================================== 1006:分数求和 总时间限制: 1000ms 内存限制: 65536kB 描述 输入 ...

  5. Apache 后台服务器(主要处理php及一些功能请求 如:中文url)   Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)   Lighttpd 图片服务器   总体来说,随着nginx功能得完善将使他成为今后web server得主流。

    Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ...

  6. css 百分比减去像素

    1)第一种实现方式 @body_center_width: ~`$(document).width()-400+'px'`; #helloworld { width: @body_center_wid ...

  7. DrawerLayout实现双层Drawer

    DrawerLayout实现双层Drawer 转 https://www.jianshu.com/p/34366a80b425 DrawerLayout是实现侧边抽屉(Drawer)最方便的方法, 但 ...

  8. Row_Number() and Rank() in SQL

    1. 数据表实例数据 2. 使用Row_Number()方法给每一行数据添加一个唯一编号, 可以按照某一列进行排序. 3. 使用Partition by Column在一个Partition内进行编号 ...

  9. Unix/Linux系统下获得时间戳函数

    在Unix/Linux系统下,使用gettimeofday函数来获得当前系统的时间戳,精度可达到微秒(microsecond,即μs)级别. 通过结构体timeval来存放当前时间戳的信息: #ifn ...

  10. osg osgViewer::View::setUpViewInWindow()

    void ViewerBase::frame(double simulationTime) { if (_done) return; // OSG_NOTICE<<std::endl< ...