本帖最后由 ppdz 于 2018-9-28 09:34 编辑
SAS 程序是用户运用SAS 程序语言编写的一段程序,这段程序将“用户提供的信息和所提出的愿望”与“SAS 系统能完成的任务”紧密地联系在一起,提交SAS 运行后,指导着SAS 系统运行,故也称为SAS 引导程序。SAS 程序通常可分为数据步和过程步,一段SAS 程序根据目的和需要可以有0 到多个数据步和0 到多个过程步,还可以有系统选项语句、ODS 语句等全局语句。 1.1 数据步(Data Step) 以关键词Data 开头,可由多条语句构成,结束标志可以是空语句、Run 语句、过程步或下一步数据步。数据步功能有: - 从原始文件数据(包括外部文件数据和数据行数据)创建SAS 数据集(包括SAS 数据文件和SAS 数据视图);
- 从其他已存在的 SAS 数据集以子集、合并、修改、更新等操作创建SAS 数据集(包括SAS 数据文件和SAS 数据视图);
- 数据分析、数据操作和数据呈现;
- 计算变量的值;
- 编写报表,或将文件输出到储存设备;
- 文件管理和资料重现。
1.2 过程步(Proc Step) 以关键词Proc 开头,可由多条语句构成,结束标志是Run 或Quit 语句。过程步的功能有: - 调用 SAS 过程(SAS Procedures)分析和处理SAS 数据集形式的数据,或执行其他分析;
- 将分析结果以报表、图表的形式输出,或输出成 SAS 数据集、外部文件;
- 生成 SQL 查询;
- 显示 SAS 文件;
- 数据操作和管理。
1.3 SAS 程序样例 【例】下面是一段SAS 程序,通过这个程序我们初步了解SAS 程序的结构和书写格式。 - 行号
- 1 /****************************\
- 2 | 10名学龄儿童的身高体重资料 |
- 3 \****************************/
- 4 OPTIONS nodate number=0;
- 5 DATA SASTJFX48_1;
- 6 INPUT name $ height weight @@;
- 7 BMI=weight/(height/100)**2;
- 8 LABLE BMI=‘body mass index’;
- 9 DATALINES; 25 ODS HTML CLOSE;
- 10 WangHB 149.4 30.8 WuCJ 167.6 46.6
- 11 ChenF 146.3 33.1 GaoSY 170.7 44.0
- 12 ZhanZL 161.5 36.3 LiYZ 164.6 40.8
- 13 ShenJJ 155.5 36.7 ZhaoJH 158.5 35.4
- 14 ZhangHX 149.4 33.1 WangXS 156.4 31.8
- 15 ;
- 16 RUN;
- 17 ODS HTML;
- 18 PROC MEANS data=SASTJFX48_1;
- 19 VAR bmi;
- 20 OUTPUT out=result mean=BMImean;
- 21 RUN;
- 22 PROC PRINT data=result (keep=BMImean);
- 23 FORMAT BMImean 4.1;
- 24 RUN;
- 25 ODS HTML CLOSE;
复制代码提交运行后,在输出结果窗口显示如下内容: SAS 系统 MEANS 过程 分析变量:BMI body mass index N | 均值 | 标准偏差 | 最小值 | 最大值 | 10 | 14.7028911 | 14.7028911 | 14.7028911 | 14.7028911 |
SAS 系统
程序SASTJFX48_1,首先添加了注释语句,然后对系统全局选项进行了设置,指定在结果标题中不显示日期和页码。程序包括1 个数据步和2 个过程步,第5-16 行是数据步,其中第10-15 行是数据行,第18-21 行是第1 个过程步,第22-24 行是第2 个过程步。这段程序的目的是:数据步,将10 名学龄儿童的姓名、身高、体重、BMI(体重指数)创建成SAS 数据集;过程步,调用简单统计分析Means 过程处理SASTJFX48_1 数据集中的变量BMI,在结果输出窗口显示相应的统计量,将BMI 的均数保存为另一个数据集,在结果窗口将BMI 均数所在的数据集显示出来,并以HTML 格式输出结果。
|