SAS程序基本语法入门.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAS程序基本语法入门 SAS系统对数据的管理 在SAS系统中只有SAS数据集才能被SAS过程直接调用,SAS数据集的结构和DBF数据库完全相同,因此无须多讲。而SAS数据集存储在被称为SAS数据库的文件集中,在PC系统中,SAS数据库与某一个文件夹相对应,我们要为每一个数据库指定一个库标记(库名)来识别该库,使用Libname命令可以指定库标记。它的一般格式如下: Libname 库标记 ’文件夹位置’ 选项; 例如要指定目录“C:\USER”为库标记A,可以在视窗中提交如下语句: libname a ’c:\user’; 假设在C盘的目录下,有一个文件夹“user”,该文件夹中有一个SAS数据集为aa。下面的一段程序为可以将aa调出,并打印。 libname a ’c:\user’; proc print data=a.aa; run; 数据库可分为永久库和临时库两种。临时库只有1个,名为WORK,它在每次启动SAS系统后自动生成,关闭SAS时库中的数据集被自动删除;永久库可有多个,用户可以使用Libname语句指定永久库的库标记,永久库中的所有文件都将被保留。但库标记仍是临时的,每次启动SAS系统后都要重新指定。不过为了方便用户,SAS在每次启动时都会自动指定两个库标记: SASUSER:指明为永久库,即库中的数据集被保存起来,以便下次启动系统时使用。 WORK:指明为临时库,对于开发和检查新程序非常有用,但每次SAS运行结束后WORK库中的所有文件将被删除。在程序中引用该库中的数据集可以省略库标记,即它被认为是缺省的数据库。 SAS数据库对应文件夹,如SASUSER对应c:\sas\sasuser,WORK对应c:\sas\saswork, SAS数据集则对应文件,每个数据集实际上是在硬盘的相应文件夹内产生一个文件名为数据集名,而扩展名为.sd2的文件,因此如果你成功的建立了一个数据集,理论上你就可以反复使用它直到硬盘报废。 每一个数据集都有一个两级名,第一级是库标记,第二级是数据集名,中间用“.”隔开,在程序中通过指定两级名来识别文件。文件两级名的一般形式如下: 库标记.数据集名 如在a库中的数据集abc可以这样来引用:a.abc。 如果要对数据abc进行分析,例如 Proc means data=a.abc; Var x1 x2; Run; 第二节 SAS程序的数据步 一、预备知识 SAS程序的语句从上一个语句结束处开始,以一个分号结束,可占多行。 二、数据步 以DATA语句开始,用于创建和处理数据集。其中最常用的语句有: DATA语句 它的主要功能是: 标志数据步的开始。 命名将要创建的SAS数据集。   DATA语句的一般形式如下: DATA 数据集名; INFILE语句 用于从外部文件读入数据,必须出现在INPUT语句之前。它的主要功能是: 确定一个包含原始数据的外部文本文件。 INFILE语句的格式如下: INFILE ’外部文件的所在位置及名称’ 选项; CARDS语句 用于直接输入数据,标志着数据块的开始。格式如下: CARDS;  数据块 ;? INPUT语句 用于向系统表明如何读入每一条记录。它的主要功能有: 读入由语句指定的数据列。 为相应的数据域定义变量名。 确定变量的读入模式。 INPUT语句的格式如下: INPUT 变量名 [变量类型 起止列数]...; 方括号表示其中的内容为可选,如果不输入,系统会以默认值代替。 三、 数据的两种输入方式 上面我们学到了INFILE语句和CARDS语句,它们分别对应了两种数据输入的方式: 【直接输入方式】 实际上我们在第一章已经用到了直接输入方式,仍以那个程序为例,其中的数据步如下: data temp; 命名将要建立的数据集为work.temp input x y@@; 要输入的变量为x、y,并且连续输入 cards; 直接输入数据,数据块开始 34 56 78 90 35 67 89 10 23 65 77 45 数据块 ; 数据块结束 变量y后面的@@表示数据可以在一行里连续读入,SAS默认按列来分隔变量,可是这里只有两个变量,输成两列数据太长,因此加上两个@@,SAS见到这个符号,在按变量名依次读取完数据后,不是跳到下一行,而是继续在该行读数据,直至本行结束或到达分号为止。 如果你对这段叙述无法理解,请去掉两个@@,重新运行一遍程序,看看LOG视窗中的提示都有些什么变化。 【外部文件读入方式】 如果刚才的数据已经事先输好,在硬盘上的“C:\USER”文件夹内存为temp.dat文件,该文件内容如下(纯文本): 34 56 78 90 35 67 89 10 23 65 77 45 则我们可以输入程序如下: data

文档评论(0)

gujf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档