登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

 
 
 

日志

 
 

一些常用的SAS命令  

2011-02-06 10:54:11|  分类: 经济 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

一、基本概念、程序结构、语句格式与主要过程的一般形式

1. SAS的子窗口主要有浏览器窗口(EXPLORER)、结果窗口(RESULTS)、程序编辑器窗口(program editor)、日志窗口(log)、输出窗口(output);

2.切换至日志窗口的命令是log、热键是F6;切换至输出窗口的命令是output、热键是F7;

3.提交SAS程序的命令是submit;

4. SAS系统是大型集成软件系统,具备完备的数据访问、管理、分析和呈现及应用开发功能;

5. SAS数据集是一类由SAS系统建立、维护和管理的数据文件;

6.为了实现存储和管理面向对象的开发任务,SAS建立目录册(catalog)类型的文件,在这一类文件中可以存储整个应用系统,包括它的界面,源程序和各种对象间的连接;

7. SAS逻辑库是一个逻辑概念,一个逻辑库就是存放在同一文件夹或几个文件夹中的一组SAS文件;

8.在SAS软件系统的信息组织中,总共只有两个层次:SAS逻辑库是高一级的层次,低一级的层次就是SAS文件本身;

9.在SAS系统中,为便于访问一个SAS文件,要为该SAS文件所在的位置指定一个SAS逻辑库,即赋予一个逻辑库名,在指定逻辑库名后,就可使用两级命名的方式引用SAS文件:逻辑库名.文件名;

10.在每个SAS进程一开始,系统就自动地指定了一些逻辑库供用户使用,它们是WORK、SASHELP和SASUSER;

11.在每个SAS进程开始时系统缺省地创建名为work的SAS逻辑库,它是一个临时逻辑库,在引用WORK库中的SAS文件时,可省略逻辑库名;

12.永久逻辑库是指它的内容在当前SAS进程结束时仍被保留的SAS逻辑库,在SAS系统中除了库名为WORK以外的逻辑库都是永久库;

13. Sashelp包含所安装SAS系统各个产品有关的SAS文件,运行安装的SAS系统所需要的SAS文件缺省地存储在这个逻辑库中;

14. Sasuser包含为满足用户需要而特制的SAS文件,用户的一些设置也放在Sasuser逻辑库中;Sasuser也是存放为您个人使用而创建的文件的合适场合;

15.库引擎是规定系统用什么格式向逻辑库读写文件的内部指令;

16.由于Sashelp、Sasuser和Work是系统自动设定的,这些逻辑库名是不能删除的;

17.一个SAS数据集是一个包含两个组成部分的文件:一个描述部分和一个数据部分。某些SAS数据集也另外包含一个索引文件;

18. SAS数据集的变量属性信息包括变量的:名称(name)、类型(type)、长度(length)、输出格式(format)、输入格式(informat)和变量标签(label);

19.SAS编程前必须明确以下三个方面:什么是输入的或供操作的数据、要对输入的数据进行什么加工、期望的输出结果是什么;

20.每个SAS程序是由许多完成单个动作的程序步和一些设定环境的语句构成的;

21.数据步(data step):读入源数据文件和SAS数据集,修改、编辑或创建SAS数据集或文本文件;

22.过程步(proc step):面向SAS数据集,完成某个特定的计算、分析和呈现的功能;

23.每个语句是由一个关键词开始,并以分号结束,通常就用开始的关键词命名这个语句;

24. DATA语句和PROC语句分别标志数据步和过程步的开始,RUN语句或另一个程序步的开始标志程序步的结束;

25.指定逻辑库名的语句的一般形式为:libname 逻辑库名 '库的实际地址';

26在程序编辑器窗口提交语句: libname 逻辑库名 list;可以在log窗口显示该逻辑库的连接;

27.多个物理位置指定同一个逻辑库名的一般形式为:libname 逻辑库名(物理位置1 物理位置2…);

28.   指定逻辑文件名语句的一般形式为:filename 逻辑文件名 '文件位置';

29.   查看SAS逻辑库的属性和内容的一般写法为:proc datasets lib=逻辑库名;

run;

30.   查看SAS数据集的属性的一般写法为:proc contents data=数据集名;

                                         run;

31.   输出数据集的数据部分的一般写法为:proc print data=数据集名;

run;

32.   转换文本数据文件的数据步的一般形式为:data 数据集名;

infile 文件名;

input 变量输入设定;

                                         run;

33.   input语句的一般形式为:input 指针控制 变量名 输入格式…;

34.   指针控制@n表示从第n列开始读入,+n表示将列控制指针增加n列后读入;

35.   程序数据列PDV包含两个自动生成的(临时)变量:_N_、_ERROR_,它们可以在程序中使用,但不作为观测的一部分写入数据集;

36.   retain语句的一般形式为:retain 变量名<初值> 变量名<初值> …;

37.   在数据步执行的每次循环中,retain语句指定的变量不再从新初始化,保留它以前存储的结果;

38.   求和语句的一般形式是:变量名+表达式;在求和语句中加号前后的项有不同的作用,一个是累加的变量,另一个是相加的表达式,两者位置是不能互换的;

39.   函数LAG和DIF调用的一般形式为:LAG(变量名);DIF(变量名);函数LAG的返回值是上一条记录中该变量的值,函数DIF的返回值是当前记录中变量值减去上一条记录中该变量的值;

40.   实现将加工结果存为文本格式的数据步程序的一般形式为:

Data

_Null_;

 数据读入语句组;

数据加工语句组;

file 文件名<选项>;

put 变量写入设定;

run;

41.   过程import的作用是实现将PC格式数据文件、以固定字符为字段分隔符的文本文件转换为SAS数据集;

42.   DROP和KEEP语句的作用是实现对生成数据集的变量进行删减;

43.   在数据步的加工过程中,可使用IF语句选择要保留的观测,其一般形式为:IF 表达式;

44.   临时变量FIRST.*它在BY 变量每个值的第一条记录时为1,否则为0;临时变量LAST.*它在BY变量每个值的最后一条记录时为1,否则为0;

45.   过程PRINT的一般形式为:proc print data=数据集名 选项;

id 变量1 变量2…;

var 变量1 变量2…;

sum 变量1 变量2…;

by 变量1 变量2…;

pageby 变量1 变量2…;

run;

46.   过程FORMAT可以设定用户自己的输出格式,对变量的不同值或不同范围的值以设定的不同的‘标签’来显示,其一般形式为:

PROC  FORMAT;

VALUE 格式名范围1='标签1'

   范围2='标签2'

…;                                          run;

47.   汇总信息最常用的就是各个变量取值的分布(取各个值的频数和百分数)和一些常用的描述统计量;

48.   SAS中计算频数分布和描述统计量最常用的过程是FREQ和MEANS;

49.   FREQ过程的一般形式为:proc freq data=数据集;

tables 变量1<*变量2> 变量3<*变量4>;

weight 变量名;

format 变量1 输出格式 变量2 输出格式…;

                           run;

50.   mean过程的一般形式为:proc mean data=数据集 <统计量关键字>;

var 变量1 变量2…;

class 变量1 变量2…;

freq 变量;

weight 变量;

output out=数据集统计量关键字=<变量名列>…/autoname;

                           run;

51.   使用过程TABULATE制作一个报表,必须确定:什么是分类变量、什么是分析变量、计算什么统计量、用怎样的表格展示结果;

52.   过程tabulate的基本形式为:proc tabulate data=数据集<选项>;

                                class 变量1  变量2…;

                                var 变量1  变量2…;

table <<页表达式,>行表达式,>列表达式< SPAN>选项>;

run;

53.   keylabel语句可对过程tabulate制作表格中的统计量名称进行更改,类似于变量标签的设定;

54.   制作散点图使用的过程是gplot,它的最简单的用法为:proc gplot data=数据集;

plot 纵轴变量*横轴变量;

run;

55.   在过程gplot中,控制表示点的符号和点间连线的是symbol语句;

56.   完成关于坐标轴的修饰是AXIS语句;

57.   在一个过程步中制作多幅图形,可有以下几种做法:使用BY语句、在PLOT语句中提出多个纵横轴组合、在过程步中使用多个PLOT语句;

58.   PLOT语名可按第三个变量的不同值分别绘制连线并置于同一幅图上,这一用法的一般形式为:PLOT 纵轴变量*横轴变量=第三变量< SPAN>选项;>;

59.   过程GCHART制作汇总图的一般形式为:proc gchart data=数据集;

                                          图形名 分类变量< SPAN>选项>;

                                        run;

60.   PLOT过程中绘制柱状图、饼图的语句是HBAR、VBAR、PIE,其选择分析变量和统计量的选项为:SUMVAR=变量名 TYPE=统计量;

61.   使用过程GCHART制作柱状图时,对每个柱的花纹和颜色进行设定是通过pattern语句实现的;

62.   UNIVARITE过程的功能比FREQ过程的功能更强,UNIVARITE过程除了能够统计频数、各种百分比之外,还可以统计均值、标准偏差等描述性统计量以及图形显示;

63.   UNIVARITE过程的一般形式:proc univariate data=数据集 freq plot;

var 变量表;

run;

64.定义宏变量的一般形式%let 变量名=值;

65.引用宏变量格式为&宏变量名;

66.在数据步中生成宏变量调用 symput()函数;

67.调用宏程序采用%宏名称;

68.使用%include读入宏定义;

69.在程序中宏变量被引用的效果为用宏变量的值直接替代宏变量名,这一过程也称之为解读;

70.相关分析过程为proc corr;

71.线性回归分析过程为proc reg;

72.logistic回归采用过程proc logistic;

73.方差分析采用过程proc anova;

74.从外部导入数据的过程为proc import;      

75.从SAS导出数据的过程为proc export。

 

  评论这张
 
阅读(1518)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018