SAS – 程序结构
SAS – 程序结构
SAS 编程涉及首先创建/读取数据集到内存中,然后对这些数据进行分析。我们需要了解编写程序以实现这一目标的流程。
SAS 程序结构
下图显示了按给定顺序编写以创建 SAS 程序的步骤。
每个 SAS 程序都必须具备所有这些步骤才能完成读取输入数据、分析数据并给出分析结果。此外,每个步骤末尾的RUN语句也需要完成该步骤的执行。
数据步
此步骤涉及将所需数据集加载到 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 内置过程来分析数据。
句法
PROC procedure_name options; #The name of the proc. RUN;
例子
以下示例显示使用MEANS过程打印数据集中数值变量的平均值。
PROC MEANS; RUN;
输出步骤
数据集中的数据可以用条件输出语句显示。
句法
PROC PRINT DATA = data_set; OPTIONS; RUN;
例子
以下示例显示在输出中使用 where 子句仅从数据集中生成少量记录。
PROC PRINT DATA = TEMP; WHERE SALARY > 700; RUN;
完整的 SAS 程序
以下是上述每个步骤的完整代码。
程序输出
上面代码的输出可以在RESULTS选项卡中看到。