DATA Step, Macro, Functions and more

Age variable char vs numeric

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 138
Accepted Solution

Age variable char vs numeric

Hi,

I have a dataset in which I've created an age variable using a date of birth variable and an "age as of" variable (which I created as well), like this:

/*Calculate age from DOB*/

data want_age;

set have;

ageasof='01NOV2012'D;

run;

DATA create_age;

set want_age;

age=floor(yrdif(datepart(dob), ageasof, age));

run;

The code runs fine and seems to calculate age correctly; however, I get a message after the second step saying that Numeric values have been converted to character values. I want age to be a numeric variable, so this is problematic. However, when I run a proc contents, it says age is already numeric, and when I go to the next step which uses values of age to create age categories, I treat age as numeric and it works fine. I'm confused about why I'm getting the message re: age being converted to character values when that doesn't actually seem to be the case.

Any help is much appreciated.


Accepted Solutions
Solution
‎07-06-2015 12:45 PM
Super User
Posts: 5,503

Re: Age variable char vs numeric

Posted in reply to Walternate

If you're using the third parameter to YRDIF, it should be character.  Try putting "age" in quotes inside the function.

View solution in original post


All Replies
Solution
‎07-06-2015 12:45 PM
Super User
Posts: 5,503

Re: Age variable char vs numeric

Posted in reply to Walternate

If you're using the third parameter to YRDIF, it should be character.  Try putting "age" in quotes inside the function.

🔒 This topic is solved and locked.

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

Discussion stats
  • 1 reply
  • 229 views
  • 0 likes
  • 2 in conversation