Learn R Programming

Rcmdr (version 2.9-4)

RecodeDialog: Rcmdr Recode Dialog

Description

The recode dialog is normally used to recode numeric variables and factors into factors, for example by combining values of numeric variables or levels of factors. It may also be used to produce new numeric variables. The Rcmdr recode dialog is based on the Recode function in the car package.

Arguments

Author

John Fox jfox@mcmaster.ca

Details

The name of each new variable must be a valid R object name (consisting only of upper and lower-case letters, numerals, and periods, and not starting with a numeral).

Enter recode directives in the box near the bottom of the dialog. Directives are normally entered one per line, but may also be separated by semicolons. Each directive is of the form input = output (see the examples below). If an input value satisfies more than one specification, then the first (from top to bottom, and left to right) applies. If no specification is satisfied, then the input value is carried over to the result. NA is allowed on input and output. Factor levels are enclosed in double-quotes on both input and output.

Several recode specifications are supported:

a single value

For example, "missing" = NA.

several values separated by commas

For example, 7,8,9 = "high".

a range of values indicated by a colon

For example, 7:9 = "high". The special values lo and hi may appear in a range. For example, lo:10=1. Note that these values are unquoted.

the special value else

everything that does not fit a previous specification. For example, else=NA. Note that else matches all otherwise unspecified values on input, including NA.

If all of the output values are numeric, and the "Make new variable a factor" check box is unchecked, then a numeric result is returned.

If several variables are selected for recoding, then each is recoded using the same recode directives. In this case, the name entered in the box labelled "New variable name or prefix for multiple recodes" will be prefixed to the name of each variable being recoded. Setting an empty prefix (i.e., "") will cause the recoded variables to replace the original variables.

As explained, = is used to separate old from new values, and : is used to specify an interval (or range) of numeric values. It is possible to change these operators to other character strings, such as -> and ~ (tilde). This may be necessary, for example, if a factor to be recoded has =s or :s in its level (category) names.

Similarly, the dialog generates a call to the Recode function in the car package, which by default uses ; to separate recode specifications. The recode separator can also be changed, for example, to /.

See Also