如何做网站泛目录解析,wordpress打字不显示图片,邵阳市建设局网站首页,东莞谷歌推广SAS可以把一组同为数值型或同为字符型的变量合在一起#xff0c;使用同一个名字称呼#xff0c;用下标来区分。这与通常的程序设计语言中的数组略有区别#xff0c;通常的程序设计语言中数组元素没有对应的变量名#xff0c;而SAS数组每个元素都有自己的变量名。 一、数值型… SAS可以把一组同为数值型或同为字符型的变量合在一起使用同一个名字称呼用下标来区分。这与通常的程序设计语言中的数组略有区别通常的程序设计语言中数组元素没有对应的变量名而SAS数组每个元素都有自己的变量名。 一、数值型数组 定义数值型数组的格式为 ARRAY 数组名维数说明 数组元素名列表初始值表; 例如 ARRAY tests(3) math chinese english (0, 0, 0); 数组名是一个合法的SAS名字且不能与同一数据步中的变量重名。对一维数组维数说明只要说明元素个数这时下标从1开始。数组元素名列表列出这个数组的各个元素实际代表的变量名各变量名以空格分隔。比如上例中tests(1)代表数学成绩tests(2)代表语文成绩tests(3)代表英语成绩。初始值表给各数组元素赋初值按顺序对应。 数组说明中初始值表可以省略这时其初始值为相应数组元素的值如果其数组元素还没有值则初值为缺失值。 数组说明中的数组元素名列表可以省略这时其元素也有对应的变量名变量名为数组名后附加序号比如 ARRAY x(3); 中数组x的各元素名为x1x2x3。 也可以在说明维数时用“下标下界:下标上界”来说明一个其它的下标下界如 ARRAY sales(95:97) yr95yr97 ; 这时sales(95)为yr95sales(96)为yr96sales(97)为yr97。上面的变量名列表是一种特殊的语法在用到变量名列表时如果连续写几个前面字母相同后面是连续的序号的变量只要写出第一个和最后一个中间用减号连接。 一维数组的维数说明还可以是一个星号这时数组大小由提供的元素列表中的变量个数决定如上面的数组tests可以等价地说明为 ARRAY tests(*) math chinese english (0, 0, 0); 可以用函数DIM(数组名)来获得数组的长度。 可以定义二维数值型数组只要在维数说明中指定用逗号分开的两个下标界说明例如 array table(2,2) x11 x12 x21 x22; 说明table(1,1)为x11table(1,2)为x12table(2,1)为x21table(2,2)为x22。二维数组元素按行排列。 二、字符型数组 定义字符型数组的语法略复杂它需要加一个$符来说明数组元素类型为字符型并且要说明每一元素所能存储的字符串的最大长度。说明格式如下 ARRAY 数组名维数说明 $ 元素长度说明 数组元素名列表 初始值表; 例如 ARRAY names(3) $ 10 child father mother; 字符型数组其它方面用法与数值型相同。 三、临时数组 上面格式说明的数组都是把若干个变量集合在一起使用同一个数组名称呼每个数组元素是一个独立的变量。SAS也提供了与其它程序设计语言相同的数组即数组元素只由数组名和序号决定没有对应的变量名。这种数组叫做临时数组定义格式为 ARRAY 数组名维数说明 _TEMPORARY_ 初始值表; 可见临时数组就是在数组说明中用_TEMPORARY_代替了数组元素列表。例如 ARRAY x(3) _TEMPORARY_ (0, 0, 0); 说明了一个有三个元素的临时数组x。其元素为x(1)x(2)x(3)即使变量x1x2x3 存在也与此数组无关。临时数组的特点是它只用于中间计算最终不被写入数据集。并且临时数组与其它变量不同的是它在数据步隐含循环后面会解释此概念中能自动保留上一步得到的值。临时数组当然也可以有多维数组或字符型数组。 四、使用数组 临时数组的使用与其它程序设计语言中的数组作用相同可以存放性质类似的数据进行处理。SAS以变量为元素的数组可以方便变量的循环处理比如读入了comp1-comp10 十个计算机销售额变量prin1-prin6六个打印机销售额变量希望计算其总和可以用如下的数组说明与DO循环配合进行 data sales; input comp1-comp10 prin1-prin6; ARRAY y(*) comp1-comp10 prin1-prin6; tot0; do i1 to DIM(y); tot y(i); end; cards; ……… ; run; 此例中数组说明用了星号说明维数求总和时用了累加语句。事实上在数组说明的数组元素列表部分除了列出具体的变量名表外还可以用特殊名字_NUMERIC_代表所有数值型变量的列表用_CHARACTER_代表所有字符型变量的列表用_ALL_代表所有变量的列表用_ALL_ 时所有变量应该同为数值型或同为字符型否则出错。所以上例中的数组y的说明中还可以用_NUMERIC_或_ALL_代替变量名列表。 实际上SAS为变量累加提供了一个专门的函数SUM(OF …)比如上面的tot变量可以用SUM(OF comp1-comp12 prin1-prin6)计算。这个例子主要为说明如何循环处理多个变量。