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
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.