当前位置: 首页>编程语言>正文

【SAS编程】第1-2章 SAS基础

参考:

目前来看,中文的SAS学习资源还不太多,近期可能会陆陆续续更新一些SAS编程的学习教程,记录一下学习过程。

  • W3Cshool

  • 深入解析SAS

  • 银行业为什么喜欢用 sas 而不是 python?

  • PDF书籍:天翼网盘链接如下

    • SAS Functions Pocket Reference
    • 7.Learn SAS By Example

1. SAS概述

SAS是一款统计分析软件 。它于1960年由SAS软件研究所创建。从1960年1月1日,SAS用于数据管理,商业智能,预测分析,描述性和规范性分析等。从那时起,许多新的统计程序和组件在软件中进行了介绍。

SAS是跨平台的,这意味着你可以在任何操作系统Linux或Windows上运行SAS。 SAS是SAS程序员使用了SAS数据集的操作的若干序列进行的数据分析报告。

2.为什么银行和医药行业喜欢用SAS,而不是Python.

SAS作为商业软件,有着良好的稳定性。由于不是开源软件,软件中设计的算法或函数可以得到监管部门的检查,所以社会认可度高,但灵活性易用性可能没有开源软件Python,R 等。感兴趣可以点击参考链接 。

【SAS编程】第1-2章 SAS基础,第1张
a

3.SAS 软件的安装使用

3.1 SAS Studio在线网页版本

  • 注册SAS cloud
【SAS编程】第1-2章 SAS基础,第2张
  • 界面如下:
【SAS编程】第1-2章 SAS基础,第3张

3.2 商业化SAS

(可以尝试去淘宝买哈~)

【SAS编程】第1-2章 SAS基础,第4张

4.SAS程序结构

SAS程序结构:下图显示了按给定顺序写入以创建SAS程序的步骤。

【SAS编程】第1-2章 SAS基础,第5张
img

每个SAS程序必须具有所有这些步骤才能完成读取输入数据,分析数据和给出分析输出。 此外,每个步骤结束时的RUN语句都需要完成该步骤的执行。

4.1 DATA步骤

此步骤涉及将所需数据集加载到SAS存储器中并识别数据集的变量(也称为列)。 它还捕获记录(也称为观察或主体)。 DATA语句的语法如下。

  • 句法
DATA data_set_name;     #Name the data set.
INPUT var1,var2,var3;       #Define the variables in this data set.
NEW_VAR;            #Create new variables.
LABEL;                  #Assign labels to variables.
DATALINES;              #Enter the data.
RUN;

例子:

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
comm = SALARY*0.25;
LABEL ID = 'Employee ID' comm = 'COMMISION';
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

结果:

【SAS编程】第1-2章 SAS基础,第6张

4.2 PROC步骤

该步骤包括调用的SAS内置程序来分析数据。

  • 句法
PROC procedure_name options; #The name of the proc.
RUN;
  • 例子

以下示例显示使用MEANS过程打印数据集中数值变量的平均值。

PROC MEANS;
RUN;

4.3 完整的SAS程序

下面是每个上述步骤的完整代码。

【SAS编程】第1-2章 SAS基础,第7张
img

结果:

【SAS编程】第1-2章 SAS基础,第8张
img

5. SAS语法要求

5.1 变量名

  • 它最多可以有32个字符。
  • 它不能包含空格。
  • 它必须以字母A到Z(不区分大小写)或下划线(_)开始。
  • 可以包括数字,但不能作为第一个字符。
  • 变量名不区分大小写。
【SAS编程】第1-2章 SAS基础,第9张
img

5.2 数据集

  • 临时数据集:DATA语句之后的一个字表示一个临时数据集的名字。这意味着数据集被在会话结束时删除。
# Temporary data sets.
DATA TempData;
DATA abc;
DATA newdat;
  • 永久数据集:数据集名称可以使用库名称作为前缀,这使它成为永久数据集。 这意味着数据集在会话结束后仍然存在。

    (可以理解为MYLIB文件夹下面,存在newdat文件,里面包含了sas有关数据)

# Permanent data sets.
DATA LIBRARY1.DATA1
DATA MYLIB.newdat;

5.3 SAS语句

每个编程语言都有自己的语法规则,比如Python中有严格的缩进要求。

  • 语句可以在任何地方开始和结束的任何地方。在最后一行的末尾的分号“;”标志着语句的结束。
  • 多条SAS语句可以在同一行,用分号结束每条语句。
  • SAS关键字不区分大小写。
  • 每个SAS程序必须使用一个运行语句run结束。

例子:

【SAS编程】第1-2章 SAS基础,第10张

解析:

  • Data Step
【SAS编程】第1-2章 SAS基础,第11张
  • Proc Step
【SAS编程】第1-2章 SAS基础,第12张
  • SAS 输出结果
【SAS编程】第1-2章 SAS基础,第13张

5.4 SAS注释

SAS代码中的注释以两种方式指定。 以下是这两种格式。

  • *信息类型注释

    单行注释
    * This is comment ;
    多行注释
    * This is first line of the comment
    * This is second line of the comment;
    
    
  • / * message * /类型注释

单行注释
/* This is comment */
多行注释
/* This is first line of the comment
* This is second line of the comment */

最后

如果想要更加深入了解SAS程序,存储原理需要理解一下PDV(Program Data Vector)机制。

Thanks~ 欢迎大家评论交流


https://www.xamrdz.com/lan/5j71996009.html

相关文章: