ppdz 发表于 2018-9-28 09:25:19

SAS 程序(SAS Program)

本帖最后由 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均值标准偏差最小值最大值
1014.702891114.702891114.702891114.7028911
SAS 系统

ObsBMImean
1 14.7

程序SASTJFX48_1,首先添加了注释语句,然后对系统全局选项进行了设置,指定在结果标题中不显示日期和页码。程序包括1 个数据步和2 个过程步,第5-16 行是数据步,其中第10-15 行是数据行,第18-21 行是第1 个过程步,第22-24 行是第2 个过程步。这段程序的目的是:数据步,将10 名学龄儿童的姓名、身高、体重、BMI(体重指数)创建成SAS 数据集;过程步,调用简单统计分析Means 过程处理SASTJFX48_1 数据集中的变量BMI,在结果输出窗口显示相应的统计量,将BMI 的均数保存为另一个数据集,在结果窗口将BMI 均数所在的数据集显示出来,并以HTML 格式输出结果。

咪咪绅士 发表于 2018-11-23 16:33:35

谢谢楼主的分享
页: [1]
查看完整版本: SAS 程序(SAS Program)