hi,
suppose I have the following table:
role |
---|
CEO/CFO |
CEO since 1987 |
President/CEO/Treasurer |
Independent Director |
First Independent In 2 Years |
I want to create 2 new variables CEO_dummy and Independent_dummy. If for example the word CEO is present for an entry in the Role column, then the new variable CEO_dummy will have a value of 1, and 0 otherwise.
The same thing for Independent.
So the new table should look like this:
role | CEO_dummy | Independent_dummy |
---|---|---|
CEO/CFO | 1 | 0 |
CEO since 1987 | 1 | 0 |
President/CEO/Treasurer | 1 | 1 |
Independent Director | 0 | 1 |
First Independent In 2 Years | 0 | 1 |
Thank you!
If you're searching for WORDS you need the proper function.
Suppose dataset name is dataset1
data dataset1;
set dataset1;
if find(role,'CEO','i') > 0 then CEO_dummy=1;
else Independent_dummy=0;
run;
This will solve the problem.
Addition to the above code .This code will resolve your problem for missing dummy variables.
data dataset1;
IF FIND('role','ceo','i')>0 THEN DO;
ceo_DUMMY=1;
INDEPENDENT_DUMMY=0;
END;
ELSE IF(FIND(role','ceo','i')=0) THEN DO;
ceo_DUMMY=0;
INDEPENDENT_DUMMY=1;
END;
run;
Your test output doesn't work. The third line has 1 in both results, but I don't see the word independant in the string?
Its a simple task however:
data want;
set have;
if index(lowcase(role),"ceo") > 0 then ceo_dummy=1;
else ceo_dummy=0;
if index(lowcase(role),"independent") > 0 then independent=1;
else independent=0;
run;
you may use this also:
data want;
set have;
CEO_dummy=IFN(index(upcase(role),'CEO'),1,0);
INDEPENDENT_dummy=IFN(index(upcase(role),'INDEPENDENT'),1,0);
run;
via sql:
proc sql;
create table want as
select role,
case when index(upcase(role),'CEO') then 1 else 0 end as CEO_dummy,
case when index(upcase(role),'INDEPENDENT') then 1 else 0 end as INDEPENDENT_dummy
from have;
quit;
If you're searching for WORDS you need the proper function.
Thanks, now I even realize the importance of Independently alliaceous!
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.