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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.