关于SAS的基本应用
不同版本的SAS,使用规则会有所不同
定义逻辑库 data (链接d盘的data文件夹下)
1 | libname data 'D:DATA\'; |
删除逻辑库 Data
1 | libname data clear; |
变量的命名
最多32个字符长,第一个字符必须是字母或下划线,不能有空格。不能包含特殊字符(如¥,@,#)
SAS运算符:
不等于: ~=、 <>、ne
等于: eq、=
大于等于:>=、ge
小于等于:<=、le
大于:>、gt
小于:<、lt
逻辑运算符:&、| ~
连接符:||
设置当前逻辑库
1 | options user=data; |
数据步
一般形式:1
2
3
4DATA 数据集;
语句;
......
RUN;
过程步
一般形式1
2
3
4
5proc 过程名 DATA=分析数据集 [选项];
过程语句 / [选项]
过程语句 / [选项]
......
run;
控制语句
1 | if 条件 then 语句; else 语句; |
对表格进行排序
1 | 降序排列 |
数据合并
纵向合并或数据集复制1
2
3data table;
set table1 table2;
run;
横向合并(先对要合并的数据集按相同的变量排序)1
2
3
4data table;
merge table1 table2;
by no;
run;
如果table1与 table2的变量不完全相同,需要在结果中只包含共同的变量:1
2
3
4
5
6
7
8
9data table;
set table1(keep=保留变量名列表)
table2 (keep=保留变量名列表);
run;
或:
data table;
set table1(drop=去除变量名列表)
table2 (drop=去除变量名列表);
run;
如果需要在结果中只包含部分观测:1
2
3
4data table;
set table1(where=(条件))
table2 (where=(条件));
run;
利用SQL过程实现数据预处理
1 | proc sql; |
数据导入
1 | proc import out = data.table |
数据集导出
1 | proc export data=table |
统计值
1 | proc freq data=table; |