Issue with If then subsetting statement with data with both numerical and character values. No error is showing but note is NOTE: Invalid numeric data, '30-35 months' , at line 75 column 13. The output table is showing no values at all.
data nis_age;
set nis_use;
if AGEGRP = "30-35 months" then output;
run;
Help please.
When you examine the variable AGEGRP, you will find that it is a numeric variable. There is no way it could possibly hold the characters "30-35 months". You may need to fix the data first.
@hudasaeb wrote:
Issue with If then subsetting statement with data with both numerical and character values. No error is showing but note is NOTE: Invalid numeric data, '30-35 months' , at line 75 column 13. The output table is showing no values at all.
data nis_age;
set nis_use;
if AGEGRP = "30-35 months" then output;
run;Help please.
As @Astounding says, AGEGRP is numeric. If the values of Agegrp are integers you could use in with the range operator:
if AGEGRP in (30:35) then output;
or alternatively
if 30 le agegrp le 35 then output;
le is "less than or equal" to include the end values.
My guess is that your dataset has formatted values. If that is the case, then you could use the vvalue function. i.e.,
data nis_age; set nis_use; if vvalue(AGE_GROUP) eq '30-35 months'; run;
Art, CEO, AnalystFinder.com
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.