- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* SAS基础与金融计算 游家兴 厦门大学经济学院计统系 * SAS运算符介绍 定义:SAS运算符是一些符号 算术运算符 比较运算符 逻辑运算符 SAS使用两种主要类型的运算符: 前缀算符 中缀算符 * 前缀运算符用于变量、常数、函数或者用括号括起来的表达式。 前缀算符有:加号,减号,NOT和符号^(等价于not)。 例如: +Y -25 -COS(A) -(x1+x2-100) 中缀运算符作用在算符两边的运算对象上,例如68 。 中缀算符一般分为四类:算术算符、比较算符、逻辑算符和其它算符(最大、最小和连接)。 * 1.算术算符 算术算符表示执行一种算术运算,包括: ** 乘方 * 相乘 / 相除 + 相加 - 相减 如果算术算符有一个运算对象是缺失值,运算结果也是缺失值。 例如,y=x3 + . ; 则y的值为缺失值(.) * 2.比较算符 比较算符确定两个变量之间的一种关系,如果这种关系成立,则输出结果为1(真);如果它不成立,则输出结果为0(假)。 比较算符包括: =(EQ) 等于 ^=(NE) 不等于 (GT) 大于 (LT) 小于 =(GE) 大于等于 =(LE) 小于等于 ^ 不大于 ^ 不小于 IN 等于列表中的一个 * 考虑表达式:A=B (1)数值比较 如果A的值为4,B的值为3,则表达式A=B的值为0(假); 若A的值为5,B的值为9,则表达式A=B的值为1(真); 若A与B的值均为5,则表达式成立,且其值为1。 * (2)字符的比较 比较的对象可以是数值也可以是字符,但比较的结果总是数值1(真)或0(假)。字符运算对象在字符之间从左到右被比较。字符次序用机器排列次序确定(即按ASCII码排列序列)。 例如,表达式’GRAY’’ADAMS’是真的,它与表达式’ANDRE ,C’’ANDRE,CLYDE’一样,它们的值都是1。 * 比较运算符经常出现在IF语句中 例如:If xy then c=5; Else c=12; 比较算符也可以用在赋值语句的表达式里 例如: c=5*(xy)+12*(x=y); 因为表达式(xy)和(x=y)首先被计算,它们的结果(0或1)替代括号中的表达式,所以该语句与上面语句是等价的。 * 3.逻辑算符 逻辑算符也称为布尔(Boolean)算符,在表达式里通常用来连接一系列比较式。逻辑算符包括: (AND) 与; | (OR) 或; ^ (NOT) 非 例如: age=25 AND sex= ’ 男’ age=25 sex= ’ 男’ age=25 OR sex= ’ 男’ * 4 .运算次序 关于运算次序,SAS有如下的三个准则: 准则1:在括号里的表达式先计算; 准则2:较高优先级的运算先被执行; 准则3:对于相同优先级的算符,左边的运算先被执行。 * 各运算符的优先等级(排在前面的优先): 1级: **,^(not) 2级 :*,/ 3级 :+,- 4级 :,=,=,^=,,=,^,^ 5级 :and 6级 :| (or) * 准则3的例外情况: 1) 对第一级,右边的先做;(not 也是,注意乘方) 2**3**2 = 2**(3**2) 2) 当两个比较算符围着一个量时,则等价于一个and运算。例如: 12age20 = 12age and age20 * 应用运算符进行数据操作 1、生成新的变量 Data new; set old; x1=x**2; x2=log(x)-2; x3=x+y; if year=2000 then dum=0; else dum=1; Run; * 2、对数据进行筛选 基于研究设计的需要,本文剔除了以下公司: (1)剔除了研究变量数据缺失的公司; (2)由于金融行业的特殊性,本文将银行等金融类上市公司排除在样本之外; (3)此外,为了保证研究结论不受极端值的影响,本文剔除了所用到的研究变量在1%和99%分位数之外的观测值。 * (1)剔除数据缺失的样本 Data new; set old; if x=. then delete; Run; * (2)剔除某些特定的
文档评论(0)