大家好,之前我们介绍过SPSS的操作了:一文搞定临床常用统计---再也不用找人做统计分析了(上)、一文搞定临床科研统计(下),今天小编给大家分享另外一个常用统计分析软件—SAS,很多人一听到SAS要编程,就望闻生畏了,小编认为当你熟悉基本的操作界面之后,基本上就是粘贴复制的事情,就能跑出你想要的结果了。现在小编就给大家分享一下SAS的基本知识,下期再给大家介绍具体案例的实际操作。
一、SAS窗口简介
1、编辑器窗口
主要功能是编辑SAS程序语句,并用不同的颜色显示SAS语句,同时进行语句的逻辑检查,如:出现红色字体,说明语句拼写有误,需要修改;深蓝色字体表示数据步或过程步的开始;浅蓝色表示关键语句;黄底色表示数据流。
2、日志窗口
主要作用是显示运行程序后的有关信息。显示的信息内容包括所建立的数据集名称、建立数据集包括多少个变量和观测、执行了什么过程、执行过程运行了多长时间、语句中有什么错误等等。
3、输出窗口
主要作用是显示程序运行的结果。
注:当程序写好时需要点击运行(小人的图标哟),另外需要注意无论是数据集的名称还是SAS程序,SAS均不区分大小写。
二、SAS数据集与SAS数据库
SAS数据集存放于SAS数据库中,类似于excel文档存放在一个文件夹中。SAS库的类型可分为永久数据库(关闭SAS后数据集保存)和临时数据库(关闭SAS软件后SAS数据集不保存,但可以保存进建立临时数据集的程序)。
三、SAS运算符及常用函数
四、SAS程序简介
1、SAS程序结构:数据步(data step) 过程步(proc step);以run结束
2、SAS程序语法规范:每个语句以“;”作为结束符号;同一行可以有多个语句,一个语句也可以分几行编写。
五、建立数据集
下面就以一个实例,了解建立SAS数据集。
SAS的编辑窗口和日志窗口如下:
建立的SAS数据a1如下:
六、整理数据
常用的SAS语句: 1、if-then/else 2、删除不需要变量或保留需要变量:drop/keep语句(data步中) 3、产生新变量:直接等号赋值即可,if-then/else产生新变量 4、数据集的排序:proc sort 过程步 5、数据集的合并:proc merge过程步(横向合并) 6、数据集的连接:set语句(纵向连接)
详细SAS程序如下:
数据集M如下:(只包含男性信息)
数据集F如下:(只包含女性信息)
数据集A2如下:(使用drop语句去除A1数据集中的 age blood变量)
数据集A3如下:(使用keep语句保留A1数据集中的 age blood变量)
A4、A5、A6如下:(产生新变量)
/*数据集的排序:按照年龄降序排序(若按升序排列变量名前的ascending可以省略不写)*/
proc sort data=a1;by decending age;run;
Proc sort之后的A1如下:
/*数据集的连接:m、f数据集众向连接成lj数据集*/
data lj;set m f;run;
lj数据集如下:
/*数据集的合并:a1、b1横向合并成hb数据集*/
/*需要对原数据集的关联词排序,即对by后的变量进行排序*/
proc sort data=a1;by no;run;
proc sort data=b1;by no;run;
data hb;merge a1 b1;by no;run;
数据集HB如下:
七、描述性统计分析
数值型变量的均值(means 过程):
程序:proc means data=a1;var age;run;
结果如下:
可以限制means过程步的输出结果,如下需要输出age的n mean std stderr p5 cv。
程序:proc means data=a1 n mean std stderr p5 cv;var age;run;
分类变量描述频数:
程序:proc freq data=a1;tables sex;run;
可以同时看多个变量的频数,如下同时看性别和血型的频数。
程序:proc freq data=a1;tables sex blood;run;
今天就到这里了,期待下期统计推断的具体案例实际操作,不见不散哟。
参考资料: 《SAS统计软件应用》,贺佳主编,人民卫生出版社,2014年4月