12-24-2015 11:48 AM
I am having trouble creating a new variable using conditions, I've tried data steps but to no avail.
My data set looks like this right now:
A B C D E 1 . 1 1 . . 1 . . . 1 . 1 . 1
I need to look like this
A B C D E R . . . . 1 . 1 . . . . . . . . . 1
So the idea that i've used is if the sum of a -- d is greater than 1 then set R equal to 1 else . and then drop the observations if 1 is present in a & b & c & d & e but its not doing it for me perhaps its due to missing values.
code i've used so far:
data campZ; set campY; select; when (sum(Macroscopic -- Symbolic > 1)) Random = 1; otherwise; end; run;
I've tried Proc SQL as well but I have been mainly focusing on the data step but any help will be great.
12-24-2015 12:29 PM
12-24-2015 01:12 PM - edited 12-24-2015 01:29 PM
data need (Drop= i numMissing); set have; array varx(*) A--E; numMissing = cmiss(A,B,C,D); if numMissing < 3 then DO; R = 1; Do i =1 to dim(varx); varx(i)=.; End; End; Else R=.; run;
12-24-2015 01:24 PM
data need (Drop= i); set have; array varx(5) A--E; if SUM(A,B,C,D) > 1 then DO; R = 1; Do i =1 to dim(varx); varx(i)=.; End; End; Else R=.; run;
12-24-2015 08:47 PM
data have; input A B C D E; cards; 1 . 1 1 . . 1 . . . 1 . 1 . 1 ; run; data want; set have; if sum(of A--E) > 1 then do; Random = 1; call missing(of A--E); end; run;