我想问问各位sas前辈们。
我要对以下数据集做行,列的平均值,用array的二维数组做。
4564 93 97 96 89 92
8788 75 78 79 72 85
4458 64 67 75 72 76
3120 56 66 71 64 73
2525 92 99 98 98 97
3566 66 76 82 78 92
1980 78 75 79 64 81
我写的程序如下:
data two;
infile'E:\sas\in class 3\class.txt' ;
input @6 a1-a5/ @6 b1-b5/ @6 c1-c5 / @6 d1-d5/
@6 e1-e5/ @6 f1-f5/ @6 g1-g5 ;
array ave{7,5}a1-a5 b1-b5 c1-c5 d1-d5 e1-e5 f1-f5 g1-g5;
array row{7} h1-h7;
array column{5} l1-l5;
do i=1 to 5;
row{i}=(ave{i,1}+ave{i,2}+ave{i,3}+ave{i,4}+ave{i,5})/5;
row{i}=round(row{i},.1);
end;
do j=1 to 7;
column{j}=(ave{1,j}+ave{2,j}+ave{3,j}+ave{4,j}+ave{5,j}+ave{6,j}+ave{7,j})/7;
column{j}=round(column{j},.1);
end;
keep h1-h7 l1-l5;run;
proc print;run;
但是log里面就一直报错
ERROR: Array subscript out of range at line 590 column 21.
我想问下如何修改。谢谢大家。