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
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.