《《SAS第八讲—IML编程》.pdf

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

SAS DATA PROCESSING: 第八讲_PROC IML 第八讲: SAS 交互式矩阵语言—IML 编程(PROC IML) §8.1 引言 SAS/IML 是 SAS 的一个过程,IML (Interactive Matrix Language)是交互式矩阵语言 的简称。IML 中的基本处理单位是矩阵,所有运算和操作都是针对矩阵的。数值被看成 1× 1 的矩阵。 SAS/IML 中的矩阵和 DATA 步以及 SAS 环境中的数据集可以双向流动:数据集可以读 入到 IML 中形成矩阵,IML 中的矩阵可以读出为 SAS 数据集。 进入 IML 环境的方法是执行语句 PROC IML; §8.2 IML 语言要素 I、矩阵 1、矩阵的定义:矩阵是一个二维数阵,分为行和列。构成矩阵的数据称为元素,可以 是数值也可以是字符。1×N 矩阵称为行向量,M ×1矩阵称为列向量,1×1 矩阵称为标量 (scalar)。矩阵的名字与 SAS 文件的命名规则相同(以字母或下划线开头,以字母数字和 下划线组成,长度不超过 32 个字符)。 2、矩阵的创建:矩阵可以通过元素列示定义,也可以赋值来创建。 (1)元素列示法: proc iml; a=100; b={1 2,3 4,5 6}; 注:元素重复的方法:创建矩阵时,如果需要连续重复输入一个数值作为矩阵的元素,则可采 用元素重复因子(repeating Factor)实现。重复因子是重复次数加方括号,放在需要重复 的元素之前。例如 proc iml; a=100; b={[2]1 2,3 [2]4,[2]5 6}; print b; 结果为 1 1 2 3 4 4 5 5 6 (2 )赋值法:赋值法通过赋值语句对已有的矩阵进行与运算(包括函数运算)创建矩阵。 一般形式:矩阵名=表达式; proc iml; b={[2]1 2,3 [2]4,[2]5 6}; c=2#b; print c; 结果为 2 2 4 6 8 8 10 10 12 3、矩阵表达式:表达式是由矩阵、函数以及运算符连接的式子,运算结果为矩阵。 (1)矩阵运算符: ©沈根祥(上海财大经济学院) SAS DATA PROCESSING: 第八讲_PROC IML 按表达式中所在位置,运算符可以分为前缀运算符(prefix )、中缀运算符(infix )和后缀运 算符(postfix )。 算符 类型 功能 举例 - 前缀 矩阵取负号 + 中缀 矩阵相加 特例:A+1 , 将 A 的各个元素加 1 - 中缀 矩阵相减 特例:A-1 , 将 A 的各个元素减 1 : 中缀 创建指标向量 I=7:10 创建行向量 i= (7 8 9 10 ) * 中缀 矩阵相乘 # 中缀 矩阵逐元素相乘 特例:A#3 ,将A 的各个元素乘 3 @ 中缀 矩阵直积 又称 Kroneck 积 ** 中缀 矩阵次方 A**2=A*A 必须为方阵 A##2 将 A 的每个元素平方;A##B 将 A 的每个元素 ## 中缀 逐元素次方 按对应的 B 中元素取次方。 特例:A/2 将 A 的各个元素除以 2 ,而 2/A 则是将 A / 中缀 逐元素相除 的各个元素除以2 得出的矩阵 || 中缀 水平拼接 将具有相同行数的两个矩阵水平拼接为一个矩阵 // 中缀 垂直拼接 将具有相同列数的两个矩阵垂直拼接为一个矩阵 中缀 逐元素比较并取大 逐元素比较

文档评论(0)

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

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

1亿VIP精品文档

相关文档