Hi all, So I am working with a dataset that includes 169 numeric variables which can take the values of . (not observed), 0 (no outcome), or 1+ (number of outcomes). I am using an array to recode these variables to use as predictors in PROC GENMOD and want the variables take the values of 1 (outcome present), 2 (outcome absent), and . (not observed). However, I noticed that variables which had no outcome observed were showing an outcome after using the following code: data insp_test;
merge data.data_micro data.data_insp_hist_w12; by ESTID COLLECTDT;
ARRAY dcharr (*) R301_002--R550_001;
do i = 1 to dim(dcharr);
if dcharr(i) > 0 then dcharr(i) = 1; else
if dcharr(i) = 0 then dcharr(i) = 2; else
dcharr(i) = .;
end;
run; I have checked the input and output datasets multiple times and I know the error results during this stage of processing. I am confused because the error does not carry over within the variable, but all variable values of 0 within an observation (8 of 40,497 obs) are recoded to have a value of 1 in the output dataset (instead of 2). I would greatly appreciate any input on whether this is an issue stemming from my code or if there is some underlying feature of SAS that I do not know about at play here.
... View more