SAS - 程序结构



SAS 程序设计首先涉及将数据集创建/读取到内存中,然后对这些数据进行分析。我们需要了解编写程序以实现此目的的流程。

SAS 程序结构

下图显示了按给定顺序编写的步骤,以创建 SAS 程序。

ps_flow_1

每个 SAS 程序都必须包含所有这些步骤才能完成读取输入数据、分析数据和提供分析输出的过程。此外,每个步骤末尾的RUN语句都是完成该步骤执行所必需的。

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;

PROC 步

此步骤涉及调用 SAS 内置过程来分析数据。

语法

PROC procedure_name options; #The name of the proc.
RUN;

示例

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

PROC MEANS;
RUN;

OUTPUT 步

数据集中的数据可以通过条件输出语句显示。

语法

PROC PRINT DATA = data_set;
OPTIONS;
RUN;

示例

以下示例显示了在输出中使用 where 子句仅从数据集中生成少数记录。

PROC PRINT DATA = TEMP;
WHERE SALARY > 700;
RUN;

完整的 SAS 程序

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

ps_complete_code

程序输出

上述代码的输出显示在RESULTS选项卡中。

ps_program_output
广告