I have the original data set like this:
Male Female V1 V2 V3 V4
3 2 2 4 5 7
2 3 6 9 3 8
Now I want to transform it into a new data set. Instead of male and female, now I have a new variable "gender", and gender=0 for male, gender=1 for female. If male=3, then repeat the observation 3 times with gender=0; if female=2, then repeat the observation 2 times with gender=1.
You can use the output statement [along with a do loop] to help print duplicate records.
Try using the following code:
gender = 0; /*sets the gender to male*/
do m = 1 to male;
gender = 1; /* sets the gender to female*/
do f = 1 to female;
keep gender v1-v4; /*ensures the key variables are kept*/
I will note that the code above assumes male and female are both greater than 0. If this is not the case, you will need to add a conditional logic check before dropping into the DO loops.