I receive the error: "(execution) Invalid subscript or subscript out of range" when try to create a submatrix tmp which is based on matrix FD which contains all variables and observations from the dataset WFD (which contains 62 columns/variables and 2108 rows).
In tmp, I want to sum row 1 to 34, and row 35 to 69, and so on, until it reaches row 2074 to 2108 from the FD matrix, so that finally, the tmp matrix becomas a 62x62 matrix.
Do anyone see what I am doing wrong in my code?
Note: I have tried to find the mistake by looking in the log, i.e. by trying to find this reference point: operation: [ at line 2965 column 194, but I really don't understand where in the log I can find this lines and columns with really high numbers.
Help is very appreciated.
The code:
data tmpf ; set WFD;
run;
proc iml;
use tmpf(drop = year);
read all var _all_ into FD;
k = 0;
do i = 1 to 2108 by 34;
j = i+33;
k = k+1;
rows = i:j;
cols = k:k;
tmp = fd[rows,cols];
DMD = DMD // tmp ;
end;
The log:
NOTE: There were 14756 observations read from the data set WEBWORK.WFD.
NOTE: The data set WEBWORK.TMPF has 2108 observations and 63 variables.
NOTE: DATA statement used (Total process time):
real time 0.13 seconds
cpu time 0.05 seconds
NOTE: IML Ready
ERROR: (execution) Invalid subscript or subscript out of range.
operation : [ at line 2650 column 193
operands : fd, rows, cols
FD 2108 rows 60 cols (numeric)
rows 1 row 34 cols (numeric)
cols 1 row 1 col (numeric)
61
Best regards,
Birgitte