DATA Step, Macro, Functions and more

there is likely a proc for this but my thought is to try it in the datastep

Reply
Contributor
Posts: 33

there is likely a proc for this but my thought is to try it in the datastep

I have observations for one variable and two additional variables representing two separate classes.

I would like to create a variable D, representing a ratio that relates an observation for variable var A in class B = 1 to observation for var A in class B = 0 given that A and B are in class C.

The data set might look something like:
varA varB varC
1 1 1
2 1 1
3 0 1
4 1 2
5 1 2
6 0 2
7 1 3
8 1 3
9 0 3

varD:
(1/3)
(2/3)
(4/6)
(5/6)
(7/9)
(8/9)

thanks much for any help
Super User
Posts: 10,041

Re: there is likely a proc for this but my thought is to try it in the datastep

[pre]


data temp;
input varA varB varC ;
datalines;
1 1 1
2 1 1
3 0 1
4 1 2
5 1 2
6 0 2
7 1 3
8 1 3
9 0 3
;
run;
data result(keep=vard);
merge temp(where=(varb eq 1) )
temp(rename=(vara=_vara varb=_varb) where=(_varb eq 0));
by varc;
vard=vara/_vara;
run;
[/pre]




Ksharp
Contributor
Posts: 33

Re: there is likely a proc for this but my thought is to try it in the datastep

Thanks much
Ask a Question
Discussion stats
  • 2 replies
  • 120 views
  • 0 likes
  • 2 in conversation