Delete observations from a SAS data set when all or most of variables has missing data

This post was kindly contributed by StudySAS Blog - go there to comment and to read the full post.


/* Sample data set */

data missing;

input n1 n2 n3 n4 n5 n6 n7 n8 c1 $ c2 $ c3 $ c4 $;

datalines;

1 . 1 . 1 . 1 4 a . c .

1 1 . . 2 . . 5 e . g h

1 . 1 . 3 . . 6 . . k i

1 . . . . . . . . . . .

1 . . . . . . . c . . .

. . . . . . . . . . . .

;

run;

*If you want to delete observation  if the data for every variable is missing then use the following code;

*Approach 1: Using the coalesce option inside the datastep;

data drop_misobs;

set missing;

if missing(coalesce(of _numeric_)) and missing(coalesce(of _character_)) then delete;

run;

 Pros:

*Simple code

Cons;

*This code doesn’t work if we want to delete observation based on specific variables and not all of them.

*Approach 2:Using N/NMISS option inside the datastep;

data drop_missing;

set missing;

*Checks the Non missing values using ;

if n(n1, n2, n3, n4, n5, n6, n7, n8, c1, c2, c3, c4)=0 then delete;

run;

data drop_missing;

set missing;

*Checks the missing…

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]

This post was kindly contributed by StudySAS Blog - go there to comment and to read the full post.