It is much more efficient to vectorized operation in SAS/IML than to do it at index level. Example below is to reset values in a sub-matrix.
proc iml;
r = j(5,5,1);
print r ;
p = ncol(R);
r[3:p,3:p]=100*r[3:p, 3:p];
print r;
quit;
r
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
r
1 1 1 1 1
1 1 1 1 1
1 1 100 100 100
1 1 100 100 100
1 1 100 100 100