I have a data set which has many missing values. I am trying to eliminate the missing values by using if then else statement. But I could not do that. The dataset which I have is in labelled and formatted form.
data sample;
input age $gender $race;
datalines;
4 M
1 F hispanic
3 F black
. M
7 Hispanic
5 M white
;
output
I want to include only the observations with full data eliminating the missing values. For example, from the above data I need to include only 2nd and 6th rows in the data set eliminating all the rows with missing observations. How can I do that.
Try
if cmiss(of _numeric_, of _character_) = 0;
@PGStats wrote:Try
if cmiss(of _numeric_, of _character_) = 0;
Can we just :
if cmiss(of _all_) = 0;
Is your data already in a SAS data set, or are you needing to read it in? This variation would overcome problems with INPUT when there are fewer than 3 items on a line:
data want;
input @;
if scan(_infile_, 3, ' ')=' ' then delete;
else input age gender $ race $;
datalines;
4 M
1 F hispanic
3 F black
. M
7 Hispanic
5 M white
;
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 how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.