- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【精选】第54章 SAS数组简介
第 54 章 SAS 数组及其应用
本章将介绍 SAS 数组的基本概念、种类,并结合实际问题,给出 SAS 程序,以呈现 SAS
数据的正确使用方法。
54.1 SAS数组的概述
54.1.1 什么是数组?
在程序设计中,为了处理方便,把具有相同类型的若干变量或者结构按有序的形式组织
起来,这些按序排列的同类数据的集合称为数组,而数组中的每个单体称为数组元素,操作
数组时,通常使用下标运算符进行定位。由于有了数组,可以用“数组名+下标”的方式引
用一系列变量,其中下标一般是从 0 开始的数字(索引),用来识别数组元素。在许多场合,
使用数组可以缩短和简化程序,因为可以利用下标设计一个循环,高效处理多种情况。数组
有上界和下界,数组的元素在上下界内是连续的,当数组下标越界的时候程序就会出现溢出
错误,因此使用数组进行编程时要格外小心数组的界限。
54.1.2 SAS 为什么淡化了数组?
由于SAS 面向数据集编程的特点以及 data 步自循环机制,当使用 SAS 编程时,列向的
变量就形成了天然的列数组,或者叫“隐含”数组。这种机制可以在不声明任何数组的情况
下轻易地使用类似数组的功能,在 data 步中对每行观测进行相同的一系列操作。故此,数
组的概念在 SAS 中逐渐被淡化,初学者根本无需知道数组的概念就可以轻易地解决许多复
杂统计问题,这在其他通用编程语言中是不可想象的。
54.1.3 在什么情况下需要使用 SAS 数组?
一般情况下,使用 SAS 进行统计分析是无需数组的,但是在某些场合需要对原始数据
集进行整理加工,尤其是要对单一大型数据集中多个变量进行一系列相同或者相似的操作
时,简单的 SAS 编程或者宏编程都无法胜任,这个时候就是 SAS 数组大展神威的时候了。
然而,随着版本的提高,SAS 专门为二维数组设计了更加有效的矩阵模块,也就是 SAS
的IML 过程,这个过程可以轻松地将数据集映射成矩阵以代替大多数 SAS 数组的功能,并
且更加便捷和有效,故如今 SAS 数组的应用价值被相当程度的削弱。
但不管怎么说,数组作为一个通用编程语言的重要概念是复杂编程过程中无法回避的手
段,有些情况下甚至是唯一的解决办法,因此熟练掌握数组的基本概念和编程思想是提高自
我编程水平的一个重要途径。
54.2 SAS数组的语法结构
54.2.1 SAS 数组的概念
通过本书基础章节的介绍,我们已经有所了解,SAS 与其他通用编程语言不同,它是
“面向数据集”的编程,也因此它的变量在赋值时并非只代表一个数值或者字符串,而是一
组数据的集合(即数据集的一列),故相应的,SAS 的数组概念也和通常意义上的数组有所
不同。
为了方便对比学习,本节拟采用的背景资料为“8 名健康志愿者的体检结果”(即一个
由 5 名男生和 3 名女生的编号、性别、身高和体重组成的简单样本资料),它的数据概况如
图 54-1 所示。
图 54-1 “8 名健康志愿者”背景资料的数据概况
data PGM54_2_1;
input id sex $ height weight;
cards;
1 male 173 64
5 male 179 80
8 male 168 75
10 male 175 62
12 male 171 60
14 female 166 55
16 female 155 50
20 female 165 48
;
run;
在 SAS 中运行上段代码后,会在 work 库中生成结构如 图 54-1 所示的数据集
PGM54_2_1 。
1. SAS 的变量(列数组、“隐含”数组)
观察数据集 PGM54_2_1 ,我们可以看到,4 个 SAS 变量 id、sex、height 和 weight 均代
表一列数据,SAS 官方并未对此作出特别的说明,但通常我们把 SAS 的变量理解成列数组,
或者叫做“隐含”数组,它是由一组数值或者字符串组成,在使用时极其方便。比如若需要
将 8 名学生的身高全部加 1,则直接对其数组名或者说变量名
您可能关注的文档
最近下载
- 现场管理人机料法环知识培训课件(PPT-46张).ppt
- ASTM E384-17美国材料与试验协会标准.pdf VIP
- 21《杨氏之子》公开课一等奖创新教学设计.docx VIP
- 2022监理工程师《建设工程目标控制(交通)》公路工程费用与进度控制.pdf VIP
- 供热企业运检人员专业知识习题集.pdf VIP
- 第17课 辛亥革命与中华民国的建立 课件(共25张PPT)-中职高一上学期高教版(2025)中国历史全一册(含音频+视频).pptx VIP
- 《严格规范涉企行政检查》专题讲座.pptx
- 2023年10月成都市武侯区“蓉漂人才荟”公开考核招考22名事业单位工作人员笔试历年难易错点考题荟萃附带答案详解.docx VIP
- 海安动力电池项目可行性研究报告 .pdf VIP
- 西南18J812 室外附属工程.docx
文档评论(0)