SAS语言与数据管理-Indexof.DOC

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS语言与数据管理-Indexof

SAS语言与数据管理 SAS系统强大的数据管理能力、计算能力、分析能力依赖于作为其基础的SAS语言。SAS语言是一个专用的数据管理与分析语言,它的数据管理功能类似于数据库语言(如FoxPro),但又添加了一般高级程序设计语言的许多成分(如分支、循环、数组),以及专用于数据管理、统计计算的函数。SAS系统的数据管理、报表、图形、统计分析等功能都可以用SAS语言程序来调用,只要指定要完成的任务就可以由SAS系统按照预先设计好的程序去进行,所以SAS语言和FoxPro等一样是一种第四代语言。 本章简单介绍SAS语言的基本成分与规则,SAS语言如何用来管理数据,SAS语言作为一个统计计算语言的用法,以及SAS过程使用的初步知识。 SAS语言构成 SAS语句 SAS语言程序由数据步和过程步组成。数据步用来生成数据集、计算、整理数据,过程步用来对数据进行分析、报告。SAS语言的基本单位是语句,每个SAS语句一般由一个关键字(如DATA,PROC,INPUT,CARDS,BY)开头,包含SAS名字、特殊字符、运算符等,以分号结束。 SAS关键字是用于SAS语句开头的特殊单词,SAS语句除了赋值、累加、注释、空语句以外都以关键字开头。SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库,等等。SAS名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS关键字和SAS名字都不分大小写。 SAS表达式 SAS数据步程序中的计算用表达式完成。表达式把常量、变量、函数调用用运算符、括号连接起来得到一个计算结果。 SAS常量主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。例如 数值型:12,-7.5,2.5E-10 字符型:'Beijing',"Li Ming","李明" 日期型:'13JUL1998'd 时间型:'14:20't 日期时间型:'13JUL1998:14:20:32'dt 数值型常数可以用整数、定点实数、科学计数法实数表示。字符型常数为两边用单撇号或两边用双撇号包围的若干字符。日期型常数是在表示日期的字符串后加一个字母d(大小写均可),中间没有空格。时间型常数是在表示时间的字符串后加一个字母t。日期时间型常数在表示日期时间的字符串后加字母dt。 因为SAS是一种数据处理语言,而实际数据中经常会遇到缺失值,比如没有观测到数值,被访问人不肯回答,等等。SAS中用一个单独的小数点来表示缺失值常量。 SAS变量的基本类型有两种:数值型和字符型。日期、时间等变量存为数值型。SAS的数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。数值型变量在数据集中的存贮一般使用8个字节。SAS的字符型变量缺省的长度是8个字符,但是如果在INPUT语句中输入字符型变量时指定了长度则不受此限制。可以用LENGTH语句直接指定变量长度,LENGTH语句一般应出现在变量定义之前,格式为: LENGTH 变量名 $ 长度; 例如 LENGTH name $ 20; SAS运算符包括算术、比较、逻辑等运算符。 算术运算符为 + - * / **,运算优先级按通常的优先规则。 比较运算符用于比较常量、变量的值大小、相等,包括 = ^= > < >= <= IN EQ NE GT LT GE LE 其中EQ等名字和=等特殊字符是同一运算符的等价写法。比较运算符得到“真”或“假”的结果,主要用于需要条件的分支、循环等语句中。运算符IN是一个SAS特有的比较运算符,用来检查某个变量的取值是否在一个给定列表中,比如 prov in ('Beijing', 'Tianjin', 'Shanghai', 'Chongqing') 可以判断变量prov的取值是否为四个直辖市之一。 逻辑运算符用来连接比较得到的结果以构成复杂的条件,有三种逻辑运算符: &(AND) |(OR) ^(NOT) 其中AND是&(与)的等价写法,OR是|(或)的等价写法,NOT是^(非)的等价写法。例如 (salary >= 1000) AND (salary < 2000) 表示工资收入在1000-2000之间(不含2000) (age <= 3) OR (sex = '女') 表示三岁以下(含三岁)的婴儿及妇女 NOT ((salary >= 1000) AND (salary < 2000)) 表示工资收入不在1000-2000之间 复杂的逻辑表达式最好用括号表示其运算优先级以免误记优先规则并可利于阅读程序。 其它的运算符还有用于连接两个字符串的||(两个连续的|号),用于取两个运算值中较大一个的<>(比如3<>5结果为5),用于取两个运算值中较

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档