Reputation: 1
I have a numeric variable (year of birth) in SPSS and i would like to take the last for digits out of it. Most values are like 1988, 2001, 1948 etc. But about 250 respondents entered their year of birth like 30-2-1947, or 2-9-1984 etc. That means not all values have the same length. By taking the last 4 digits into a new variable I could create an age category for all the respondents.
How can I do that?
I tried by converting the variable to a string and using substr
to get a part of the value, but I always had to choose a starting point. I want to start from the last digit and then move backwards.
Upvotes: 0
Views: 645
Reputation: 622
Instead of using SUBSTR()
you can try using RIGHT()
to grab the last four digits.
* convert yob to string variable.
ALTER TYPE yob (A10).
EXE .
* use RIGHT to extract the last 4 digits and convert to numeric.
COMPUTE n_yob = NUMBER(RIGHT(yob, 4, F4)) .
EXE .
You can now use n_yob
to calcuate age (ex: COMPUTE age = 2022-n_yob .
). You can also use ALTER_TYPE
again if you want to convert yob
back to it's original type.
Upvotes: 1