一.基本规则
1.DATA步骤:定义数据和创建数据集,以DATA 开始,以DATALINES结束;PROC步骤:定义统计分析的类型,每个PROC过程后接一个run语句。
2.SAS变量名必须遵循以下原则:以字母或者下划线开头,不超过32个字符长度,不能使用空格或者特殊字符。
3.注释:以*开头,分号结尾,中间不能有“;”存在,或者以/*开头,*/结尾。
二.例子解释
对一个数据集进行分析
学生编号 | 性别 | 测验1 | 测验2 | 家庭作业等级 |
10 | M | 80 | 84 | A |
7 | M | 85 | 89 | A |
4 | F | 90 | 86 | B |
20 | M | 82 | 85 | B |
25 | F | 94 | 94 | A |
14 | F | 88 | 84 | C |
2.根据最终成绩赋予等级,将学生按照ID号排序;
3.显示测验成绩、最终成绩和家庭作业等级、最终等级;
4.计算测验和期末成绩的班级平均分;
5.计算性别和作业等级的频数。
SAS输入过程:
*建立数据集EXAMPLE
DATA EXAMPLE;
INPUT SUBJECT GENDER $ EXAM1 EXAM2 HW_GRADE $; *INPUT输入变量的名称和它们在数据列中的位置,字符变量后加美元符号$
FINAL=(EXAM1 + EXAM2) / 2; *计算最终成绩
IF FINAL GE 0 AND FINAL LT 65 THEN GRADE='F';
ELSE IF FINAL GE 65 AND FINAL LT 75 THEN GRADE='C';
ELSE IF FINAL GE 75 AND FINAL LT 85 THEN GRADE='B';
ELSE IF FIANL GE 85 THEN GRADE='A'; *运用if-then语句将最终成绩赋予最终等级
DATALINES;
10 M 80 84 A
7 M 85 89 A
4 F 90 86 B
20 M 82 85 B
25 F 94 94 A
14 F 88 84 C
;
*按照ID排序,sort用来排序,data=后更进行处理的数据集,若数据缺失,则处理最近建立的数据集
PROC SORT DATA=EXAMPLE;
BY SUBJECT;
RUN;
ID变量的作用是让程序把变量SUBJECT打印在结果输出报告的第一栏,并删除OBS,OBS在缺少ID 变量时会自动呈现自然序列
VAR后面跟需要进行处理的变量
PROC PRINT DATA=EXAMPLE;
TITLE "Roster in student number order";
ID SUBJECT;
VAR EXAM1 EXAM2 FINAL HW_GRADE;
RUN;
输出结果为:
PROC MEANS DATA=EXAMPLE N MEAN STD STDERR MAXDEC=1;
TITLE "Descriptive Statistics";
VAR EXAM1 EXAM2 FINAL;
RUN;
输出结果:
PROC FREQ DATA=EXAMPLE;
TABLE GENDER HW_GRADE GRADE;
RUN;
PROC FREQ DATA=EXAMPLE;
TABLE GENDER HW_GRADE GRADE/NOCUM;
RUN;