I have a data that kind of looks like this: I have 2310 subjects, 3 Treatments(1,2,3) and The variable X which is X(Age factor, Treatment) so X12 would be age factor 1 and treatment 2. data have;
input Subject Treatment X;
datalines;
1 1 X12
2 2 X12
3 3 X13
4 1 X11
5 2 X13
6 3 X12
7 1 X11
8 2 X12
9 1 X11
10 3 X13 ....................... 2310 3 X12
; I have to count the number of X's using the variable Z so Z11=#of X11's , Z12=#of X12's and so on but if the last number in the X and T is the same then you add one to the allocation. So Z11=X11+1 if T=1, Z12=X12+1 If T=2 and Z13=X13+1 if T=3. If last number of X and T don't correspond to each other then it would stay the same: Z11=X11,if T=2 or T=3 Z12=X12 if T=2 or T=1 Z13=Z13. if T=1 or T=2 I also have to define a function where: M1=std(Z11,Z12,Z13) where T=1 and Z11=Z11+1 M2=std(Z11,Z12,Z13) where T=2 and Z12=Z12+1 M3=std(Z11,Z12,Z13) where T=3 and Z13=Z13+1 In the end my result should look like this: Z11 Z12 Z13 Z21 Z22 Z23 Z31 Z32 Z33 20 25 10 12 15 18 19 30 25 G1:263 G2:212 G3:258 So far I have this is the code I have: data count;
set dynamic;
z11=0;
z12=0;
z13=0;
if Y="X11" then do;
z11=z11+1;
if T=1 then Z11=Z11+1;;
end;
else if Y="X12" then do;
z12=z12+1;
if T=2 then Z12=Z12+1;
end;
else if Y="X13" then do;
z13=z13+1;
if T=3 then z13=z13+1;
end;
run; I am having trouble on how to figure out the function in the code above as I would need the counts of Z11 when T=1 and Z11 when T is not equal to 1. Any help would be appreciated.
... View more