Hello, all. I have a dataset looks like below: data test;
input Var1-Var11@;
cards;
0 1 2 3 4 5 6 7 8 9 .
9 0 1 2 3 4 5 6 7 8 .
8 9 0 1 2 3 4 5 6 7 .
. . . . . . . . . . .
;
run; And my purpose is to find out each row & column maximum values and to assign the maximum value at the corresponding rows and columns. (Place the find out maximum values at the placeholder "." in the "test" dataset.) I tried it below: data findmax;
set test;
Var11 = max(of Var1-Var10);
array arr[*] _numeric_;
do i = 1 to 11;
if arr[i] = . then arr[i] = max(of arr[i]);
end;
drop i;
put arr[2];
run; In my solution, each row maximum works well. But each column maximum value was still missing. But if I assign some exact number to each last column cell, the code works well. Like: data findmax;
set test;
Var11 = max(of Var1-Var10);
array arr[*] _numeric_;
do i = 1 to 11;
if arr[i] = . then arr[i] = 99;
end;
drop i;
put arr[2];
run; A minor difference of my code ( arr[ i ] = max(of arr[i]) vs. arr[ i ] = 99 ) makes such different output. Is there any reason in this case and how can I achieve the purpose. Thanks, best regards.
... View more