SAS语言基础(二)

SAS语言基础(二)

ID:40415424

大小:387.17 KB

页数:25页

时间:2019-08-02

SAS语言基础(二)_第1页
SAS语言基础(二)_第2页
SAS语言基础(二)_第3页
SAS语言基础(二)_第4页
SAS语言基础(二)_第5页
资源描述:

《SAS语言基础(二)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SAS语言基础(二)1.数组(array)数组是用来临时存放一系列变量的语法结构,常用于需要对一些变量做相同处理的情况。注意:SAS的数组跟标准语言的数组是不一样,这一点首先要弄明白。在SAS中,数组不是数据结构,它存储的不是数据,而是变量,因此数组元素即是变量,也就是凡是可用表达式的地方,均可使用数组元素;数组只在当前data步中有效,也就是数组名只能在当前data步中标识数组,不同的data步中可以使用相同的数组名但不表示同一个数组;默认情况下,数组的标号是从1开始的。1.1数组的定义(definition)ARRAYarray-name{subscript}<$>

2、<(initial-value-list)>;说明:数组名的命名规范与变量命名完全相同,不赘述;但是数组名不能与当前data步中变量同名;元素个数有三种形式,分别对应于创建数组的三种方法;元素个数必须用大括号({})、中括号([])或圆括号(())括起来,三者等价;·变量列表必须由相同类型的变量组成,要么全是数值型,要么全是字符型;数组列表同样可以是缩写形式;定义数组最简单的方法是直接写明元素的个数,如,arraybooks{3}ReferenceUsageIntroduction;也可以用上下界来定义元素个数的范围,如arraybooks{0:2}Re

3、ferenceUsageIntroduction;这样的好处是可以自定义数组第一个元素的标号,上面的例子就是从0开始的,自定义标号某些时候会带来好处,如arrayfirst{10}Year76-Year85;arraysecond{76:85}Year76-Year85;定义数组还可以让系统来计算元素的个数,如arrayscore{}score1score2score3score4score5;或arrayscore{}score1-5;这种定义的方式更多的用于不知道变量个数的情况下,变量的个数就交给SAS去计算把,如,arrayx[]_NUMERIC_;如果是数组定义一系列字符变量,

4、还可以通过length指定字符变量的长度,如arraych[]$20name1-3;1.2初始化数组(initial-value)初始化数组时间上是给数组元素即变量赋值,ARRAYarray-name{number-of-elements}(initial-value-1<,…initial-value-n>);如,arraytest(3)t1t2t3(908070);arrayab(5)(543);如果初始值比数组元素少,则初始值依次赋值给变量,多余的变量被处理为缺失值,而且SAS会在LOG窗口中给与WARNING提示。给数组元素赋值可以采用缩写

5、的形式,如下面5种初始化数组的方法是等价的,ARRAYx{10}x1-x10(105);ARRAYx{10}x1-x10(5(55));ARRAYx{10}x1-x10(553(55)55);ARRAYx{10}x1-x10(2(55)552(55));ARRAYx{10}x1-x10(2(52(55)));1.3引用数组元素(ArrayReference)语法:array-name{subscript};不同的引用方式在于数组下标的引用不一样。·变量作为下标,主要用于循环语句中{variable-1<,...variable-n>}如,arraydays{7}d1-d7;doi=1t

6、o7;ifdays{i}=99thendays{i}=100;end;号作为下标{}如,arraydays{7}d1-d7;inputdays{};表达式作为下标expression-1<,...expression-n>如,arrayarr1{}a1-a3;x=1;inputa1a2arr1{x+2};1.4多维数组(multidimensionalarray)定义多维数组跟一维数组没有大多区别,只是不同的维度之间用逗号隔开,同一维度同样可以采用元素个数或上下界的书写方式,但不能用{}书写方式,如arrayx{5,3}score1-score15;arraytest{3:4,3:7}

7、test1-test10;多维数组中,数值元素(即变量)先行后列依次进行填充。引用及初始化数组都跟一维数组一致。1.5临时数组(_temporary_)当用户定义一个数组的目的只是进行计算时,经常用临时数组元素列表,使用临时数组元素可以少的占用内存,加快执行速度。举例,arraytest{4}_TEMPORARY_(90807070);另外,临时数组还有如下一些特点:数组元素没有名字,引用时必须用数组名和下表,如test[1];不能出现在输出的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。