Appendix C: How to Unpack Multiple Entries (Young Women Cohort)
Responses to multiple entry questions found in early years of the surveys of the four Original Cohorts were coded in a geometric progression format to conserve space on the tape. Variables such as 'Method of Seeking Employment,' 'Method of Finding Current or Last Job,' 'Type of Financial Aid Received,' 'Type of Child Care Arrangement,' and numerous health-related questions have been formatted in this way since the surveys began. Multiple entry items are identified by an asterisk under the source code box in the questionnaire and by a special detailed codeblock in the documentation. These responses need to be "unpacked" before they can be used in analysis. The example below pertains specifically to the Mature Women's cohort; it is applicable to all Original Cohort multiple entry variables, including the Young Women.
In later survey rounds, choose-all-that-apply items are coded as a series of yes-no variables in the data set. For example, although the respondent would see a list of possible fringe benefits and select all that were available to her, in the data this question is represented as a series of questions like "Did your employer make medical benefits available," "Did your employer make paid vacation available," and so on (see R20086.00-R20190.00 in 1995).
Codes for the Mature Women's variable R03380., 'Fringe Benefits at Current Job 77,' range from 1 (the respondent reported only one such benefit, "medical insurance") to 259 (the respondent reported "medical insurance," "life insurance," and "paid sick leave") to 1023 (the respondent reported that she had access to all of the benefits listed). Although there are several different ways to sort out which respondent has positive answers on which components, this appendix provides one example in SAS and one example in SPSS.
Program 1: Unpacking Fringe Benefits Data in SAS
This SAS program unpacks fringe benefits from the variable "fringe." It creates 10 (dichotomous) dummy variables indicating the presence or absence of each of the 10 benefits. Each dummy is set to missing if fringe is missing (coded at -998 or -999). Note that the variables are created in reverse order from the codeblock, i.e., MEDICAL is code 1 on the tape and FRINGE10 in the program. The program statements listed below can be modified by the user to include the expanded set of fringe benefits available in later survey years as well as to unpack other multiple entry variables by extending the dummy, the counter, and the number of variables to agree with the total number of responses listed in the codeblock in the documentation.
data benefits; infile 'D:\documents\requests\unpack.dat' lrecl=4; input R0338000 4.; if R0338000 = -998 then R0338000 = .; if R0338000 = -999 then R0338000 = .; label R0338000 = "FRINGE BNFTS CUR_JOB_77"; array fringe fringe01-fringe10; do over fringe; if R0338000 ne . then fringe=0; end; all=R0338000;
if all ge 512 then do; fringe10=1; all=all-512; end; if all ge 256 then do; fringe09=1; all=all-256; end; if all ge 128 then do; fringe08=1; all=all-128; end; if all ge 64 then do; fringe07=1; all=all- 64; end; if all ge 32 then do; fringe06=1; all=all- 32; end; if all ge 16 then do; fringe05=1; all=all- 16; end; if all ge 8 then do; fringe04=1; all=all- 8; end; if all ge 4 then do; fringe03=1; all=all- 4; end; if all ge 2 then do; fringe02=1; all=all- 2; end; if all ge 1 then do; fringe01=1; all=all- 1; end;