Answ ers 第 1 页 共 43 页 SAS金融数据处理综合练习题 1. 创建一包含10000 个变量(X1-X10000),100 个观测值的SAS 数据集。分别用 DATA步,DATA 步数组语句和 IML 过程实现。 (1)用data步实现 data test1a; informat x1-x10000 9.2; /*创建100个变量,规定输出格*/ do i=1 to 100; /*做循环*/ output;/*每一次循环,输出所有的变量,包括i*/ drop i;/*去掉i*/ end; run; 或者 data test1a; format x1-x10000 best12.; /*创建10000个变量x1-x10000,但未有初始化*/ do i=1 to 100; /*创建100个观测*/ output;/*且每一个观测都输出到数据集test1a*/ end; drop i; run; (2)用data步数组语句实现 data test1b; array t{10000} x1-x10000 ;/*创建数组变量*/ do i =1 to 100;/*每个变量有100个观测*/ output;/*每一次循环,输出所有的变量,包括i*/ drop i;/*去掉i*/ end;/*循环结束*/ data test1c; array t{10000} x1-x10000; do j=1 to 100;/*100次观测的循环*/ do i = 1 to 10000; t{i}=i;/*第i个变量等于i*/ end; output;/*输出第i次观测的i个变量的值*/ end; drop i j;/*去掉i和j*/ run; 或者 data test1b; array t{10000} x1-x10000; do j=1 to 100;/*100次观测的循环*/ do i = 1 to 10000; Answ ers 第 2 页 共 43 页 t{i}=i;/*第i个变量等于i*/ end; output;/*输出第i次观测的i个变量的值*/ end; drop i j;/*去掉i和j*/ run; (3)用IM L过程实现 proc iml;/*启用iml环境*/ x='x1':'x10000';/*定义数组x1-x10000*/ t= j(100,10000,1) ;/*创建100行10000列的. 同元素矩阵*/ print t x;/*打印两个矩阵察看*/ create test1d from t[colname=x];/*创建数据集c,变量数为列数 ,观测数为行数,列名更改为变量名,默认逻辑库为临时*/ append from t; /*将t中的值填充的数据集中*/ show datasets; show contents;/*显示数据集的一些7788的属性*/ close test1d; run; quit; 或者 proc iml; x='x1':'x10000'; t= shape(1,100,10000) ;/*shape和j不太一样,顺序是元素,行,列,j的顺序为行,列,元素*/ print t x; create test1d from t[colname=x]; append from t; show datasets; show contents; close test1d; run; quit; (4)用宏实现 %macro names(n...