Ordinarily this program is invoked by the Web interface for the SDA programs, and the user does not have to deal with the keywords given in this document. Output from the program is in HTML, which can be viewed with a Web browser. Users who run this program interactively should see the online help document.
It is also possible to run the program directly by preparing a command file, which specifies the variables to be analyzed and the options to use. This document explains how to prepare such a file. The name of this batch command file is specified to the program after the `-b' option flag.
(Input and output definitions) MAP= (Recode map) * CATLABELS= [optional] (Category text and labels) * TEXT= [optional] (Descriptive text) * **After a line with two asterisks (**) on a line by itself, another set of RECODE commands can be added to the same batch file. This is how you include multiple recodes in the same file.
Keyword Possible Specification Default (if no keyword) _____________________________________________________________________ STudies= path of source dataset(s) Look for input variables only in current directory INvars= name(s) of input var(s) REQUIRED
Keyword Possible Specification Default (if no keyword) _____________________________________________________________________ OUTSTudy= path of study for new variable Current directory OUTVar= name of new variable REQUIRED (see rules) LABEL= long label for new variable No long label CATlabels= (precedes lines of category No category text text - see details below) or labels MAP= (precedes lines with recode REQUIRED map or rules - see below) MD= list of invalid codes, ranges No defined MD codes (also used for output value if input has missing data -- see below) MIN= minimum valid code No defined minimum MAX= maximum valid code No defined maximum OVERwrite= yes Do not overwrite new var if it already exists OTHercases= name of the input variable Set to MD code from which to take the value (or system-missing) for cases that do not match a pattern in the MAP TEXT= (precedes lines of descriptive No item text text - see details below)
Keyword Possible Specification Default (if no keyword) _____________________________________________________________________ DIAGnostics= yes No diagnostic summary of the new variable COLorcoding= yes No colored headings in the diagnostic output GVARCase= LOWER or UPPER Do not convert all variable names to lower/upper case LAnguagefile= Name of file with non-English English labels on labels and messages output SAVebatch= name of directory No file preserved with batch commands to create new var (for interactive version) The batch file name is the name of the new variable, with the suffix '.rec'
map= 1: 18-49; 1 2: 18-49; 2 3: 50-97; 1 4: 50-97; 2 *
It is possible to have more than one rule for a given output
value -- notice that the output code 4 has three rules in the
example given below.
map= 1: 1,3-5,7 ; 1-10 2: 1,3-5,7 ; 11-50 3: 1,3-5,7 ; 51-90 4: 8-10,12 ; * 4: 41,45,55; 11-90 4: 61-90 ; * 9: ** ; ** *Each recode rule (line) can include more than one NUMERIC value or range for each input variable, as long as they are separated by commas.
A single asterisk (*) in a recode rule matches any VALID value of the corresponding input variable. Two asterisks (**) match ANY value, including missing-data (both user-defined and system- missing) and out-of-range values. When an asterisk or double asterisk is used as a stand-alone specification, and is NOT used as part of a range, it cannot be combined with other specifications for the same input variable in a recode rule (on the same line).
If a case matches more than one recode rule, the first rule encountered will apply. Notice in this example that the recode rule `**; **' matches all values of the two input variables; any cases not covered by a rule higher up in the map will receive the value 9.
Similarly, the system missing-data code can be recoded into a numeric value by referring to it as '$.' in a recoding rule. (Note the period after the dollar sign.)
These new numeric values will be treated as valid codes, unless they are defined as missing data codes on the new variable. If you want the new values to be defined as missing data codes, use the 'MD=' keyword to define them as missing data.
One of the examples below illustrates how character MD values and the system MD value are recoded into numbers.
Example 3 below shows how the 'OTHercases=' keyword can be used.. See the next topic for how missing data is handled.
catlabels= 1 Professional and technical [Prf,Tech] 2 Managers 3 Blue collar workers [Blue Col] 4 Other 9 Missing *
Note, however, that in the CSA recode rules, a single asterisk
(*) matches ALL values of an input variable. SDA distinguishes
between a single asterisk, which matches only the VALID values of
an input variable; and two asterisks, which match ALL values.
study = /sda/testdata invar = age outvar = age3 label = Collapsed age - 3 categories md = 9 map= 1: 18-29 2: 30-49 3: 50-97 * catlabels= 1 <30 2 30-49 3 50+ 9 missing * **
invars = age gender outvar = agesex label = Age-gender typology overwrite = yes md = 9 map= 1: 18-49; 1 2: 18-49; 2 3: 50-97; 1 4: 50-97; 2 * catlabels= 1 Yng Male 2 Yng Feml 3 Old Male 4 Old Feml 9 Missing * text= This variable is a four-category typology of age and gender * **
study = /sda/testdata invar = age outvar = age2070 label = Collapsed age - 20-70
# Note the use of the `othercases=' option; # only the codes given in the map are changed. # The new variable will carry over the original values # of 'age' for all cases not covered by the map. othercases = age
# Cases that have the value 98 or 99 on 'age' are not covered in # the map and are assumed to be missing data. # This 'MD=' command specifies that cases with 98 or 99 # will be defined as missing data also on the new variable. md = 98,99
map= 20: 1-20 70: 70-97 *
catlabels= 20 20 or younger 70 70 or older *
invar = spend outvar = numspend label = Recoded spend variable # Define the recoded numeric values as missing data. # (They could be left as valid values, if desired.) md = -1,8,9
map= 1: 1-2 2: 3 8: D 9: R -1: $. *
catlabels= 1 A lot 2 Not enough 8 Don't know 9 Refused -1 No data *