DATA Step, Macro, Functions and more

Creating variable/group

Reply
New Contributor
Posts: 3

Creating variable/group

Hi,

Im trying to create a variable that will constitute 4 groups.

 

if you look on the attached data, I want to create for each gvkey (equivalent to ID) a code that will show if AC variable has been changed during the years. To be specific, My 4 goups should look like that:

1. gvkeys that have only DS or/and 0,

2. gvkeys that have only DU or/and 0,

3. gvkeys that have only DI or/and 0, 

4. gvkeys that have evrything for example: DS AND DI. 

 

for each group I want to keep all the years for each gvkey.

 

PROC Star
Posts: 552

Re: Creating variable/group

I don't see any data? Please post sample data in the form of a datastep

New Contributor
Posts: 3

Re: Creating variable/group

Thanks. this is what I tried to do


DATA NEW;
SETOLD;
by gvkey fyear;
if first.gvkey=last.gvkey and (ac=0 or ac=3) then group=3;
else
if first.gvkey=last.gvkey and(ac=0 or ac=2) then group=2;
else
if first.gvkey=last.gvkey and (ac=0 or ac=1) then group=1;
else group = 4;
run;



##- Please type your reply above this line. Simple formatting, no
attachments. -##
New Contributor
Posts: 3

Re: Creating variable/group

Super User
Posts: 10,500

Re: Creating variable/group

Many users here don't want to download Excel files because of virus potential, others have such things blocked by security software. Also if you give us Excel we have to create a SAS data set and due to the non-existent constraints on Excel data cells the result we end up with may not have variables of the same type (numeric or character) and even values.

 

Instructions here: https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-dat... will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.

 

And show what an expected result for a sample of the data might be.

Ask a Question
Discussion stats
  • 4 replies
  • 99 views
  • 0 likes
  • 3 in conversation