DATA Step, Macro, Functions and more

Create two new variables

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 7
Accepted Solution

Create two new variables

Hello everyone! 

 

I have two variables and I want to add two new variables. One of the variables that exist is the employment status of the study participants (1=employed, 2= unemployed) and the other is the year that the participant answered the employment question. I want to make a third variable that indicates the number of years each person was employed. Similarly, I intend to add a fourth variable that cumulatively adds up the years of unemployment and illustrates it for each year. For example, Case ID 1003 was unemployed in 1984, then was employed in the years of 1985 to 1987 (3 years) and again was unemployed in 1988. Hence, in the year of 1988, she had been unemployed for two years and employed for three years. 

 

I was wondering if you could please help me with programming these new variables? I have also attached a sample data pdf file.

 

Thank you for your consideration.


Accepted Solutions
Solution
‎01-15-2018 07:22 PM
PROC Star
Posts: 1,307

Re: Create two new variables

Posted in reply to Sinakian1
data want;
set have;
by case_id;
if first.case_id then do;
Yearsbeingunemployed=0;
Yearsbeingemployed=0;
end;
if 	Employmentstatus=1 then  Yearsbeingemployed+1;
else if  Employmentstatus=2 then  Yearsbeingunemployed+1;
run;

View solution in original post


All Replies
PROC Star
Posts: 1,307

Re: Create two new variables

Posted in reply to Sinakian1

I can't and am not allowed to open attachments. Can you please paste your sample HAVE and sample WANT as text. Also, explain the logic in neat bullet points rather than long sentences. Just my 2 cents. Thank you

Solution
‎01-15-2018 07:22 PM
PROC Star
Posts: 1,307

Re: Create two new variables

Posted in reply to Sinakian1
data want;
set have;
by case_id;
if first.case_id then do;
Yearsbeingunemployed=0;
Yearsbeingemployed=0;
end;
if 	Employmentstatus=1 then  Yearsbeingemployed+1;
else if  Employmentstatus=2 then  Yearsbeingunemployed+1;
run;
Occasional Contributor
Posts: 7

Re: Create two new variables

Posted in reply to novinosrin

Thank you indeed. It worked exactly as I wanted. 

Super User
Super User
Posts: 9,200

Re: Create two new variables

Posted in reply to Sinakian1

Post test data in the form of a datastep using the code window (its the {i} above the post area).  Also show what the output should look like.  

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 183 views
  • 4 likes
  • 3 in conversation