《the little sas book》
一.基础知识
1.data步与proc步的作用:
2.data步处理多条观测的流程:
二.导入数据
input:
1.按列来读取数据:
2.读取日期(字符,数值):MMDDYY10. 格式+数字+.
3.读取到空格前:冒号修饰符+读取日期格式,长度只多不少
4.换行读取:/,#
5.读取多个观测在同一行:@@
6.暂停读取符号:@配合 if 使用,读取数据的一部分
infile:
1.读取文件的选项:
从第n行开始读:FIRSTOBS=
读取n行数据:OBS=
数据缺失:MISSOVER TRUNCOVER(区别可能是truncover可以尽可能读取数据)
2.不同分隔符的选项
分隔符:dlm=' '
有缺失值的:dsd dlm=
import:
1.读取excel文件:proc import datafile = ' 地址 ' out =数据集 ;
libname:逻辑库+地址
引用:data语句 +逻辑库.数据集
三.使用数据
1.if语句:if then
if then do ; end;
if then ; else if then;
2.retain语句:
递加语句:retain 变量;变量=函数
变量1+变量2(变量1=变量1+变量2)
3.array语句:对变量进行编组
array 新变量(n) 已有n个变量;
array缩写变量:数字用-,字母用- -;
四.排序,打印,汇总数据
1.where语句:data和proc中生成子集的语句
与if相似,比if简洁方便。
2.简单排序:proc sort(从小到大)
descending:从大到小
nodupkey:删除具有相同变量的观测
by:对全体观测按这个变量排序
3.语义排序:
大小写同一:sorted=linguistic(strength = primary)
按数字含义排序:strength=primary
4.打印:by:每个变量分别各自显示一个表格(与排序的By含义不同)
var:选择打印的变量
5.打印格式:put语句,format语句(较多使用)
value 变量的新名称:使用proc format自定义变量观测的表达方式
6.简单统计:proc means
by(排序)/class(不排序):对列出来的每个变量分别进行分析
var:在by/class挑出的变量中分析汇总变量的名称
输出到一个新数据集,挑选统计量并重新命名:统计量(变量,变量)=新变量 新变量
7.计数功能:proc freq
tables 单一计数/交叉表(变量*变量)
8.生成数据表:proc tabulate
class:分类变量 var:连续变量
table:指定行列
五.使用ods增强输出
六.修改和合并数据
1.读取旧数据集:set 修改用if
2.纵向堆叠数据(变量相同,观测不同):set 数据集1 数据集2 (用by排序后 再用by进行堆叠,可以改变某一变量堆叠顺序)
3.横向堆叠数据,需要排序
(1vs1)/ (1vs多)/汇总统计量(means) :merge by(变量名相同若不用是覆盖而不是合并)
总计与原始数据:if _N_=1 then set
更新数据update(用的少)
4.output输出多个数据集:if then output 数据集
5.一条观测输出多条观测:多条input 多条output
6.使用in追踪和选择观测
7.where数据集选项挑选变量(加括号使用)
8.转置变量:proc transpose
by:保留的变量
var:需要转置的变量
七.SAS宏
创建宏的方式:
1.%:宏变量
&:使用宏变量
2.%macro开始%mend结束
%:调用宏
3.宏参数:定义完宏名称后括号里进行定义宏参数,在三明治中间层引用&宏参数
4.宏的逻辑条件:
%if %then %else %if %then %else
%if %then %do;
%end
八.数据可视化
九.基本统计过程方法
十.导出数据
十一.调试SAS程序