SAS初学者笔记---001


这是一篇关于SAS入门学习的笔记,本文参考内容多为本校老师上课的PPT以及官方文档,且鉴于作者水平有限,希望读者谨慎借鉴。

sas界面介绍

在这里插入图片描述
如图所示,界面主要由红色箭头所指内容构成,接下来将简要介绍其中的内容。

001 顶部菜单栏

这一部分主要是对SAS软件本身(如代码格式,文件读取,窗口化视图等)进行基础的设置。作者个人已经安装好了增强版编辑器,此处便链接几个关于增强编辑器安装的博客
文刀煮月-SAS9.2的增强编辑器注册解决方案
SAS官方对于Enhance editor的使用介绍–基于SAS9.4
关于顶部菜单栏,此处作者简要介绍一下个人较为常用的几个操作。

  1. 文件保存、读取、录入文件等。

在这里插入图片描述

  • 1号区域与二号部分的功能相同,皆为新建一个程序窗口,需要注意的是当光标定位在编辑器窗口时1与2 会合并在一起
  • 3号区域是保存
  • 四号区域是导入外部数据,这一部分在关于数据集建立时再详细介绍
  • 5号区域是打开最近的文件
  1. 窗口格式设置
    在这里插入图片描述
    在这里插入图片描述
    如图所示即为更改窗口格式的操作
002 results与explorer
  1. results窗口是诸多输出结果的集合,在这里面你能够找到从软件打开到现在所有执行过输出的程序结果,其中结果包括web形式输出到results窗口里的数据集以及输出到output窗口的数据集在这里插入图片描述
  2. explorer窗口是SAS软件的数据管理窗口,
    其中Liabraies是SAS存放逻辑库的库,其中存放了包括SAS本身建立的默认逻辑库以及个人建立的逻辑库,逻辑库中存放着数据集。
    File Shortcuts不太懂,从来没用过。
    Favorites Folder此电脑均用于管理本地数据。可以直接调用相关应用打开里面的文件
    在这里插入图片描述
003 主窗口部分
  • Program Editor 窗口,用以编写SAS程序代码
  • Outputresults窗口,用以显示print指令或其他数据步的结果,其中results窗口所输出的内容是由SAS编译的html文件,配合ODS系统,可以将输出结果用浏览器打开,关于ODS的用法,后续内容会提到(大概)
  • Log窗口,LOG窗口包含SAS日志,它是当前SAS会话的记录。一个典型的记录显示:在当前会话中发布的SAS语句;注释、警告和出错信
    在这里插入图片描述
    如图所示,黑色部分为Editor窗口执行的代码,红色提示出现错误,蓝色提示正常,绿色提示警告信息,具体信息以提示内容为准

sas代码执行规则

Data  a;
Input  x @@;
no = _n_;
z=x+3;
DO n  = 1 TO 4;
OUTPUT;
END;
Cards;
6  4  8   
;
Run;
proc print;
run;

如上所示代码
首先明确代码分为三部分
第一部分是数据步的指令代码

Data  a;
Input  x @@;
no = _n_;
z=x+3;
DO n  = 1 TO 4;
OUTPUT;
END;

此部分代码是控制数据步生成数据的重要指令,包括从cards中读取代码、执行循环、赋值变量等。

第二部分是数据步的中的数据部分

cards;
6  4  8
;
run ; /*作为数据步的结尾运行指令*/

程序执行时,数据步中的input指令将从此处读取数据
第三部分是过程步的print指令

proc print;
run;

平平无奇的打印代码,将代码输出至result窗口以及output窗口

关于SAS程序执行的步骤

程序从代码顶端开始执行各项指令

  1. Data指令提示程序这是一个数据步,程序创造三个项目,分别是:
    • input buffer 数据的存储缓冲区域,如果代码中有input语句,此区域内将会存入cards内的数据
    • pdv(program data vector) 程序逻辑区域
    • descriptor information 数据集属性和变量属性的描述信息
  2. input指令提示读取input buffer中的数据,一次只读取一行cards数据。
  3. 按顺序读取其他指令,如演示代码中,代码进入循环步骤,此时程序将执行循环后再继续执行,循环内有赋值语句,添加output语句,使其在每次执行循环后将变量值输出到数据集中,直到遇到end,循环结束,执行下面步骤
    在这里插入图片描述
    在这里插入图片描述
    可以看到,output的添加使得循环赋值的n每次都被输出到数据集中,否则n的值会被后一次循环的结果所覆盖,直到最后一次执行循环。
  4. 程序执行到cards语句时,程序返回最开始重复以上步骤,重复时遇到input语句将会换行至下一行进行读取,此处添加了标志符号 @ ,所以在程序返回开始执行下一次的input命令时不换行。
代码格式
  1. 书写格式
    SAS语句可以从一行上的任意位置开始;几个SAS语句可以写在同一行上;一个语句也可以写成几行,只要语句中的单词不被断开即可;
    在一条语句中各项之间至少要有一个空格;
    SAS对大小写不敏感。即SAS语句用大写字母、小写字母或大、小写混合书写均可。
    注意:字符串及字符变量的取值要区分大小写

  2. 注释
    SAS语句中有一个注释语句,形式为:
    /*注释内容*/
    使用快捷键为 ctrl + /
    撤销注释的快捷键为 ctrl + shift + /

/*打印数据*/
Proc print data=a;
Run;

内容还有很多没有涉及到,剩下的作者将会一一补充完整、
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值