## Recode all instances of -5 to missing

Solved
Regular Contributor
Posts: 150

# Recode all instances of -5 to missing

I have an interesting case where all values of -5 in my dataset should be set to missing. I don't want to have to do this for every variable separately, is there way to recode all instances of -5 in the dataset as missing or .S? Any help would be greatly appreciated. This came about from the way a QDS interview was programmed for skipped questions. Thank you in advance!

Accepted Solutions
Solution
‎03-17-2014 03:52 PM
Super User
Posts: 13,523

## Re: Recode all instances of -5 to missing

At this point you may want something like:

data want;

set have;

array n _numeric-;

do _i_=1 to dim(n);

if n[_i_] = -5 then n[_i_] = .;

end;

run;

All Replies
Solution
‎03-17-2014 03:52 PM
Super User
Posts: 13,523

## Re: Recode all instances of -5 to missing

At this point you may want something like:

data want;

set have;

array n _numeric-;

do _i_=1 to dim(n);

if n[_i_] = -5 then n[_i_] = .;

end;

run;

Regular Contributor
Posts: 150

## Re: Recode all instances of -5 to missing

Do I have to assign the array for all of my variables? I am a little confused by your code, whar does the n_numeric refer to? I was able to get the code to run but it did not do anything to the -5. Thank you for your reply!

PROC Star
Posts: 1,457

## Re: Recode all instances of -5 to missing

looks like just a typo in ballardw's suggestion.

It should be:

array n _numeric_ ;

n is the name of the array.

_numeric_ is a special name meaning "all numeric variables".

I think your initial thought to use .S intead of . also has merit.

Regular Contributor
Posts: 150

## Re: Recode all instances of -5 to missing

I just noticed the typo and got it to run, I used .S and everything seemed to work correctly. Thank you all for your suggestions.

🔒 This topic is solved and locked.