DATA Step, Macro, Functions and more

Deleting the rows with missing values

Reply
Contributor
Posts: 44

Deleting the rows with missing values

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. 

 

 

 

 

Respected Advisor
Posts: 4,640

Re: Deleting the rows with missing values

Try

 

if cmiss(of _numeric_, of _character_) = 0;

 

PG
Respected Advisor
Posts: 3,124

Re: Deleting the rows with missing values


PGStats wrote:

Try

 

if cmiss(of _numeric_, of _character_) = 0;

 


Can we just :

 

if cmiss(of _all_) = 0;

 

Super User
Posts: 5,071

Re: Deleting the rows with missing values

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

;

 

Ask a Question
Discussion stats
  • 3 replies
  • 213 views
  • 3 likes
  • 4 in conversation