I did something similar (see code below) but your solution is more elegant. Thanks! I know I didn't ask for this, but just because I didn't think of that problem in the beginning. I appreciate all the help. data want;
set test;
array v var1-var10;
maximum_value=max(of var1-var10);
loc=whichn(maximum_value,of var1-var10);
if loc ge 2 and loc le 9 then avg_of_3=mean(v(loc-1),v(loc),v(loc+1));
if loc=1 then avg_of_3=mean(v(loc),v(loc+1));
if loc=10 then avg_of_3=mean(v(loc),v(loc-1));
run;
... View more