## Iteratively Generate a variable

Solved
Occasional Contributor
Posts: 12

# Iteratively Generate a variable

Hello,

If I have two variables called xvar and yvar, how can I generate the yvar by adding 1 if xvar is even and staying the same if xvar is odd? The yvar is initialized to be 1.

xvar    yvar

2           1

3

5

6

7

8

Output wanted:

xvar    yvar

2           1

3           1

5           1

6           2

7           2

8           3

I tried the retain statement for yvar but can't get the expected result. Thanks.

Accepted Solutions
Solution
a month ago
Super User
Posts: 10,770

## Re: Iteratively Generate a variable

``````data have;
input xvar;
retain yvar 0;
if mod(xvar,2)=0 then yvar+1;
cards;
2
3
5
6
7
8
;
run;``````

All Replies
Solution
a month ago
Super User
Posts: 10,770

## Re: Iteratively Generate a variable

``````data have;
input xvar;
retain yvar 0;
if mod(xvar,2)=0 then yvar+1;
cards;
2
3
5
6
7
8
;
run;``````
Occasional Contributor
Posts: 12

## Re: Iteratively Generate a variable

Thank you, that's exactly what I expect.
☑ This topic is solved.