图解SAS软件统计分析(一):基本知识和界面操作。本文介绍常用统计分析软件SAS,大多数研究者一听到SAS要编程,就想着会很难,但当你熟悉SAS软件的基本操作界面之后,基本上通过拷贝复制就能得到你想要的结果。接下来详细介绍SAS的基本知识和界面操作。

sas软件架构 sas软件及服务_数据库

一、SAS窗口简介

1、编辑器窗口

主要功能是编辑SAS程序语句,并用不同的颜色显示SAS语句,同时进行语句的逻辑检查,如:出现红色字体,说明语句拼写有误,需要修改;深蓝色字体表示数据步或过程步的开始;浅蓝色表示关键语句;黄底色表示数据流。

2、日志窗口

主要作用是显示运行程序后的有关信息。显示的信息内容包括所建立的数据集名称、建立数据集包括多少个变量和观测、执行了什么过程、执行过程运行了多长时间、语句中有什么错误等等。

3、输出窗口

主要作用是显示程序运行的结果。

注:当程序写好时需要点击运行(小人的图标哟),另外需要注意无论是数据集的名称还是SAS程序,SAS均不区分大小写。

二、SAS数据集与SAS数据库

SAS数据集存放于SAS数据库中,类似于excel文档存放在一个文件夹中。SAS库的类型可分为永久数据库(关闭SAS后数据集保存)和临时数据库(关闭SAS软件后SAS数据集不保存,但可以保存进建立临时数据集的程序)。

三、SAS运算符及常用函数

sas软件架构 sas软件及服务_数据库_02

四、SAS程序简介

1、SAS程序结构:数据步(data step)+过程步(proc step);以run结束

2、SAS程序语法规范:每个语句以“;”作为结束符号;同一行可以有多个语句,一个语句也可以分几行编写。

五、建立数据集

下面就以一个实例,了解建立SAS数据集。

sas软件架构 sas软件及服务_数据集_03

SAS的编辑窗口和日志窗口如下:

sas软件架构 sas软件及服务_数据集_04

建立的SAS数据a1如下:

sas软件架构 sas软件及服务_数据集_05

六、整理数据

常用的SAS语句:

1、if-then/else

2、删除不需要变量或保留需要变量:drop/keep语句(data步中)

3、产生新变量:直接等号赋值即可,if-then/else产生新变量

4、数据集的排序:procsort过程步

5、数据集的合并:procmerge过程步(横向合并)

6、数据集的连接:set语句(纵向连接)

详细SAS程序如下:

sas软件架构 sas软件及服务_SAS_06

数据集M如下:(只包含男性信息)

sas软件架构 sas软件及服务_数据集_07

数据集F如下:(只包含女性信息)

sas软件架构 sas软件及服务_sas软件使用mysql吗_08

数据集A2如下:(使用drop语句去除A1数据集中的 age blood变量)

sas软件架构 sas软件及服务_sas软件使用mysql吗_09

数据集A3如下:(使用keep语句保留A1数据集中的 age blood变量)

sas软件架构 sas软件及服务_数据库_10

A4、A5、A6如下:(产生新变量)

sas软件架构 sas软件及服务_数据集_11

/*数据集的排序:按照年龄降序排序(若按升序排列变量名前的ascending可以省略不写)*/

proc sort data=a1;by decending age;run;

Proc sort之后的A1如下:

sas软件架构 sas软件及服务_数据库_12

/*数据集的连接:m、f数据集众向连接成lj数据集*/

data lj;set m f;run;

lj数据集如下:

sas软件架构 sas软件及服务_数据库_13

/*数据集的合并: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如下:

sas软件架构 sas软件及服务_数据集_14

七、描述性统计分析

数值型变量的均值(means 过程):

程序:proc means data=a1;var age;run;

结果如下:

sas软件架构 sas软件及服务_SAS_15

可以限制means过程步的输出结果,如下需要输出age的n mean std stderr p5 cv。

程序:proc means data=a1 n mean std stderr p5 cv;var age;run;

sas软件架构 sas软件及服务_数据库_16

分类变量描述频数:

程序:proc freq data=a1;tables sex;run;

sas软件架构 sas软件及服务_sas软件使用mysql吗_17

可以同时看多个变量的频数,如下同时看性别和血型的频数。

程序:proc freq data=a1;tables sex blood;run;

sas软件架构 sas软件及服务_sas软件架构_18

今天就到这里了,期待下期统计推断的具体案例实际操作,不见不散哟。

参考资料:

《SAS统计软件应用》,贺佳主编,人民卫生出版社,2014年4月