Hi folks, This might seem nuanced but is it possible to create new variables using parts of or all of an existing variable name in an array kind of style? If I understand correctly you can't change the format of an existing variable from say numeric to character or vice versa. In summary, I had to transpose a character variable that had a lot of distinct values (100+) so I could flag the occurrence and eventually count/sum the frequency. Is there an efficient way of creating another version of the existing 100+ new variables to be flagged and as numeric? I have tried this approach which seems to create the flags and overwrite the existing variable (not creating the supposedly new variable) but the format remains unchanged and it's still a character variable (not surprised as stated earlier that you can't change the format of an existing variable). data transp_trt_flags;
set test.transp_bc_trt;
/* Flag transposed treatment regimen */
array trt_reg[*] trt_:; /*select all variables beginning with trt_*/
array trt_fl[*] trt_:_fl; /*create new dummy variables to replace the original; gave this a shot without thinking it will run*/
do i = 1 to dim(trt_reg);
if not missing(trt_reg(i)) then
trt_fl(i) = input(1, best32.);
else
trt_fl(i) = input(0, best32.);
end;
output;
run; Thanks for your help as always
... View more