本文首发于 "百味科研芝士" 微信公众号,转载请注明:百味科研芝士,Focus科研人的百味需求 大家好,上次已经介绍过SPSS的操作了,今天小编给大家分享另外一个常用统计分析软件—SAS,很多人一听到SAS要编程,就望闻生畏了,小编认为当你熟悉基本的操作界面之后,基本上就是粘贴复制的事情,就能跑出你想要的结果了。现在小编就给大家分享一下SAS的基本知识,下期再给大家介绍具体案例的实际操作。 一、SAS窗口简介 1、编辑器窗口 主要功能是编辑SAS程序语句,并用不同的颜色显示SAS语句,同时进行语句的逻辑检查,如:出现红色字体,说明语句拼写有误,需要修改;深蓝色字体表示数据步或过程步的开始;浅蓝色表示关键语句;黄底色表示数据流。 2、日志窗口 主要作用是显示运行程序后的有关信息。显示的信息内容包括所建立的数据集名称、建立数据集包括多少个变量和观测、执行了什么过程、执行过程运行了多长时间、语句中有什么错误等等。 3、输出窗口 主要作用是显示程序运行的结果。 注:当程序写好时需要点击运行(小人的图标哟),另外需要注意无论是数据集的名称还是SAS程序,SAS均不区分大小写。 二、SAS数据集与SAS数据库 1、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 sortdata=a1;by decending age;run; Proc sort之后的A1如下: /*数据集的连接:m、f数据集众向连接成lj数据集*/ data lj;set mf;run; lj数据集如下: /*数据集的合并:a1、b1横向合并成hb数据集*/ /*需要对原数据集的关联词排序,即对by后的变量进行排序*/ proc sortdata=a1;by no;run; proc sortdata=b1;by no;run; data hb;merge a1b1;by no;run; 数据集HB如下: 七、描述性统计分析 数值型变量的均值(means 过程): 程序:proc means data=a1;var age;run; 结果如下: 可以限制means过程步的输出结果,如下需要输出age的nmean std stderr p5 cv。 程序:proc means data=a1 n mean std stderrp5 cv;var age;run; 分类变量描述频数: 程序:proc freq data=a1;tables sex;run; 可以同时看多个变量的频数,如下同时看性别和血型的频数。 程序:proc freq data=a1;tables sex blood;run; 今天就到这里了,期待下期统计推断的具体案例实际操作,不见不散哟。 参考资料: 《SAS统计软件应用》,贺佳主编,人民卫生出版社,2014年4月