[计算机软件及应用]SAS_IML.pptVIP

  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_IML

SAS/IML §1 简介 1.SAS/IML模块(Interactive Matrix Language) 是一种编程语言 提供矩阵操作 拥有大量运算符 有用于整个矩阵的运算符 交互的 动态的 可以访问数据:数据集、多维向量或矩阵 可以绘图 2. iml编程举例 proc iml; start approx(x); y=1; do until(w1e-3); z=y; y=0.5#(z+x/z); w=abs(y-z); end; return(y); finish approx; t=approx({3,5,7,9}); print t; quit; 3.IML过程步 格式: PROC IML SYMSIZE=n1 WORKSIZE=n2; 说明: SYMSIZE=指定为符号空间分配的内存空间大小n1 WORKSIZE=指定工作去长度 n1和n2:整数代为KB 可选项不给出,系统自动取默认值。 §2 矩阵 1.简介 矩阵是IML模块中的基本数据结构; 矩阵:一般2维,由行、列数确定,m×n; 元素类型:数值型或字符型; 元素个数:1~32767; 矩阵名 矩阵由矩阵名标识 合法的SAS标识符,最长32个字符 可包含缺失值(Missing Values) 特例: 1×n:行向量 m×1:列向量 1×1:标量 2.矩阵字面量(常量,Literals) 2.1 标量 可看作只有一个元素的矩阵; 定义形式: 矩阵名=值; 说明: 矩阵名:必须是合法标识符; 值:可以是数值型或字符型。 例: proc iml; x=12; y=12.34; z=.; a=Hello; b=Hi there; print x y z a b; 2.2 多元素矩阵 1.书写规则 用花括号({ })作定界符,把矩阵中所有元素包含进来; 元素可以是字符型或数值型,矩阵中所有元素必须类型相同; 逗号“,”用于分行; 空格用于区分一行中的相邻元素; 每行元素个数必须相同。 例1: reset print; coffee={4 2 2 3 2, 3 3 1 2 1, 2 1 0 2 1, 5 4 4 3 4}; names={Jenny,linda,Jim,Samuel}; print coffee [rowname=names]; 例2:数值矩阵 proc iml; x={1 2 3 4 5 6}; print x; y={1,2,3,4,5}; print y; z={1 2,3 4,5 6}; print z; w=3#z; print w; 例3:字符矩阵 a={abc defg}; print a; b={ABC DEFG}; print b; 例4:重复元素 answer={[2] ‘Yes’,[2] ‘No’}; answer={‘Yes’ ‘Yes’, ‘No’ ‘No’}; 例5: 再赋值 允许在任何时间对矩阵再次赋值 a={1 2 3,4 5 6}; a={‘Sales’ ‘Marketing’ ‘Administration’}; 3.赋值语句 3.1一般形式: 矩阵名=表达式; 3.2说明: 矩阵名:要创建并赋值的矩阵; 表达式:可以包含字面量、运算符、函数等; 注意:“=”两端的行列数应相等。 例6:接例1,设每杯咖啡0.3元,求每人每天所喝咖啡的钱数的矩阵;求每人每周所喝咖啡的钱数的矩阵;求每周所喝咖啡的钱数的总数和每天平均数。 reset noprint; daycost=0.30#coffee; print Daily totals,daycost[rowname=names format=8.2]; ones={1,1,1,1,1}; weektot=daycost*ones; print Week total,weektot[rowname=names format=8.2]; grandtot=sum(coffee); average=grandtot/ncol(coffee); print Total number of cups,grandtot,Daily average,average; 4.矩阵生成函数 4.1 BLOCK 形式: BLOCK(矩阵1,矩阵2,矩阵3,… …) 功能:生成由矩阵1…构成的分块矩阵 例: reset print; a={1 1,1 1}; b={2 2,2 2}; c=block(a,b); 4.2 J 形式: J(行数m

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档