This message occurs when I use an output data set (SpearmanCorr) in proc corr.
I would like to remove these notes;
15354:NOTE: Invalid numeric data, '<.0001' , at line 101090 column 212.
15355:NOTE: Invalid numeric data, '_' , at line 101090 column 11.
My code looks like this;
ods output SpearmanCorr=mycorrpvalue;
proc corr spearman data=mydata ;
var myvariable;
run;
data new;
set mycorrpvalue;
if myvariable='<.0001' then myvariable=0.0001;
if myvariable='_' then myvariable=.;
if 0<myvariable<0.001 then newvar=0.001;
else newvar=.;
run;
This is because the data set mycorrpvalue contains numbers and characters, '<.0001' and '_'.
How can I totally replace these characters with number?
Sincerely,
Nish
The data does not actually contain characters. In ODS output data sets, p-values typically are numeric, but have a format applied. (Running a PROC CONTENTS on MYCORPVALUE will reveal that.) You can remove the format with:
data new;
set mycorpvalue;
format myvariable;
run;
Good luck.
The data does not actually contain characters. In ODS output data sets, p-values typically are numeric, but have a format applied. (Running a PROC CONTENTS on MYCORPVALUE will reveal that.) You can remove the format with:
data new;
set mycorpvalue;
format myvariable;
run;
Good luck.
It worked! Thank you very much!
There are must be some missing value or very small value .
Try round() function to reform your data.
Is myvariable actually character or numeric with a special format?
Yes, the myvariable had a format.
# | Variable | Type | Len | Format |
1 | myvariable | Num | 8 | PVALUE8.4 |
I could remove it using;
data new;
set mycorpvalue;
format myvariable;
run;
Thank you for your answer!
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.