Hi guys. I have two columns value1 and value2, in value1, say, I have three observations a, b, c, in value2, I have 4 observations a, a, b,m, I want to create a dummy variable match for each row in value1, if the value can be found in value 2, then match=1 otherwise it is 0. So for this dataset, it should be 1,1,0. Can anyone help me with this? Thanks a lot!
Data A;
Input value1 $ value2 $;
Datalines;
a a
b a
c b
. m
;
Run;
Data B;
If _N_ eq 1 Then Do;
Declare Hash H (Dataset:'A (Drop=value1 Rename=(value2=value1)');
H.Definekey('value1');
H.Definedone();
If 0 Then Set A (Drop=value1 Rename=(value2=value1));
End;
Set A;
dummy=1-Min(H.Find(),1);
Run;
Data A;
Input value1 $ value2 $;
Datalines;
a a
b a
c b
. m
;
Run;
Data B;
If _N_ eq 1 Then Do;
Declare Hash H (Dataset:'A (Drop=value1 Rename=(value2=value1)');
H.Definekey('value1');
H.Definedone();
If 0 Then Set A (Drop=value1 Rename=(value2=value1));
End;
Set A;
dummy=1-Min(H.Find(),1);
Run;
Use PROC GLMMOD to create dummy variables.
Thanks PaigeMiller!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.