Tuesday, Nov 24
Tutorials | Overview | User Guide | FAQ | Contact/Help | News | Data Quality | File Structure | CDS R/D | Sponsorship | More...

 

Merging PSID Data: SPSS Example

Method 2


*-----------------------------------------------------------------------------*
 |                                                                            |
 |              MERGE USING MULTIPLE FAMILY-INDIVIDUAL FILES                  |
 |                                                                            |
 |   Step 1:    Subset family-level id's and selected variables               |
 |              and subset cases from xyr-individual file                     |
 |                                                                            |
 |   Step 2a:   Subset year-n family file                                     |
 |   Step 2b:   Sort year-n family file from 2a by year-n family id           |
 |   Step 2c:   Sort xyr-individual-id file from step 1 by year-n family id   |
 |   Step 2d:   Merge sorted xyr-individual-id file from 2c                   |
 |              with sorted year-n subsetted family file from 2b              |
 |              (a one-to-many [family-to-individual] match)                  |
 |   Step 2e:   Sort resulting year-n family-individual file from 2d          |
 |              by individual ids                                             |
 |                                                                            |
 |   ...        Repeat Steps 2 for all other years                            |
 |                                                                            |
 |   Step 3:    Merge family-individual files from step 2e                    |
 |                                                                            |
*-----------------------------------------------------------------------------.


FILE HANDLE indvars / NAME='[PATH]\IND2007ER.txt' LRECL=3118.
DATA LIST FILE=indvars /
	/*  1968 ID and PN */  ER30001  2-5  ER30002  6-8
	/*  1969  */ ER30020    44 - 47
	/*  1970  */ ER30043    97 - 100
	/*  1971  */ ER30067   152 - 155
	/*  1972  */ ER30091   207 - 210
	/*  1973  */ ER30117   265 - 268
	/*  1974  */ ER30138   317 - 320
	/*  1975  */ ER30160   370 - 373
	/*  1976  */ ER30188   436 - 439
	/*  1977  */ ER30217   503 - 506
	/*  1978  */ ER30246   571 - 574
	/*  1979  */ ER30283   648 - 651
	/*  1980  */ ER30313   718 - 721
	/*  1981  */ ER30343   788 - 791
	/*  1982  */ ER30373   858 - 861
	/*  1983  */ ER30399   919 - 922
	/*  1984  */ ER30429   992 - 995
	/*  1985  */ ER30463  1077 - 1080
	/*  1986  */ ER30498  1167 - 1170
	/*  1987  */ ER30535  1259 - 1262
	/*  1988  */ ER30570  1348 - 1351
	/*  1989  */ ER30606  1438 - 1441
	/*  1990  */ ER30642  1528 - 1532
	/*  1991  */ ER30689  1647 - 1650
	/*  1992  */ ER30733  1764 - 1767
	/*  1993  */ ER30806  1914 - 1918
	/*  1994  */ ER33101  2190 - 2194
	/*  1995  */ ER33201  2289 - 2293
	/*  1996  */ ER33301  2482 - 2485
	/*  1997  */ ER33401  2566 - 2570
	/*  1999  */ ER33501  2651 - 2655
	/*  2001  */ ER33601  2750 - 2753
	/*  2003  */ ER33701  2840 - 2844
	/*  2005  */ ER33801  2931 - 2935
	/*  2007  */ ER33901  3024 - 3028
	/*  your individual variable locations here */
  .
VARIABLE LABELS
	 ER30001 "1968 INTERVIEW NUMBER"
	 ER30002 "PERSON NUMBER         68"
	 ER30020 "1969 INTERVIEW NUMBER 69"
	 ER30043 "1970 INTERVIEW NUMBER 70"
	 ER30067 "1971 INTERVIEW NUMBER 71"
	 ER30091 "1972 INTERVIEW NUMBER 72"
	 ER30117 "1973 INTERVIEW NUMBER 73"
	 ER30138 "1974 INTERVIEW NUMBER 74"
	 ER30160 "1975 INTERVIEW NUMBER 75"
	 ER30188 "1976 INTERVIEW NUMBER 76"
	 ER30217 "1977 INTERVIEW NUMBER 77"
	 ER30246 "1978 INTERVIEW NUMBER 78"
	 ER30283 "1979 INTERVIEW NUMBER 79"
	 ER30313 "1980 INTERVIEW NUMBER 80"
	 ER30343 "1981 INTERVIEW NUMBER 81"
	 ER30373 "1982 INTERVIEW NUMBER 82"
	 ER30399 "1983 INTERVIEW NUMBER 83"
	 ER30429 "1984 INTERVIEW NUMBER 84"
	 ER30463 "1985 INTERVIEW NUMBER 85"
	 ER30498 "1986 INTERVIEW NUMBER 86"
	 ER30535 "1987 INTERVIEW NUMBER 87"
	 ER30570 "1988 INTERVIEW NUMBER 88"
	 ER30606 "1989 INTERVIEW NUMBER 89"
	 ER30642 "1990 INTERVIEW NUMBER 90"
	 ER30689 "1991 INTERVIEW NUMBER 91"
	 ER30733 "1992 INTERVIEW NUMBER 92"
	 ER30806 "1993 INTERVIEW NUMBER 93"
	 ER33101 "1994 INTERVIEW NUMBER 94"
	 ER33201 "1995 INTERVIEW NUMBER 95"
	 ER33301 "1996 INTERVIEW NUMBER 96"
	 ER33401 "1997 INTERVIEW NUMBER 97"
	 ER33501 "1999 INTERVIEW NUMBER 99"
	 ER33601 "2001 INTERVIEW NUMBER 01"
	 ER33701 "2003 INTERVIEW NUMBER 03"
	 ER33801 "2005 INTERVIEW NUMBER 05"
	 ER33901 "2007 INTERVIEW NUMBER 07"

     	/*      your individual variable labels here  */
  	.
	MISSING VALUES
        /*      your individual missing values here  */
  	.
        /*      your filter for case slection, if any, here */

SAVE OUTFILE="indvars.sys".

* =====================================================
   Step 2: subset data from 1968 family file (n=4802).

FILE HANDLE fam68 / NAME='[PATH]\FAM1968.txt'  LRECL=753.
DATA LIST FILE=fam68 /
    V3 9-12
     /*      your 1968 variable locations here  */
  .
VARIABLE LABELS
    V3 ="INTERVIEW NUMBER 68 1:6-9"
     /*      your 1968 variable labels here     */
  .
MISSING VALUES
     /*      your 1968 missing data values here */
  .
SORT CASES BY V3.
SAVE OUTFILE="fam68.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30001.

MATCH FILES FILE=* / TABLE="fam68.sys"/ RENAME=(V3=ER30001)
 / BY=ER30001.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind68.sys"



* =====================================================
   Step 2: subset data from 1969 family file (n=4460).

FILE HANDLE fam69 / NAME='[PATH]\FAM1969.txt'  LRECL=1050.
DATA LIST FILE=fam69 /
    V442 4-7
     /*      your 1969 variable locations here  */
  .
VARIABLE LABELS
    V442 ="INTERVIEW NUMBER 69 11:6-9"
     /*      your 1969 variable labels here     */
  .
MISSING VALUES
     /*      your 1969 missing data values here */
  .
SORT CASES BY V442.
SAVE OUTFILE="fam69.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30020.

MATCH FILES FILE=* / TABLE="fam69.sys"/ RENAME=(V442=ER30020)
 / BY=ER30020.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind69.sys"



* =====================================================
   Step 2: subset data from 1970 family file (n=4645).

FILE HANDLE fam70 / NAME='[PATH]\FAM1970.txt'  LRECL=1174.
DATA LIST FILE=fam70 /
    V1102 4-7
     /*      your 1970 variable locations here  */
  .
VARIABLE LABELS
    V1102 ="1970 INT #        21:6-9"
     /*      your 1970 variable labels here     */
  .
MISSING VALUES
     /*      your 1970 missing data values here */
  .
SORT CASES BY V1102.
SAVE OUTFILE="fam70.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30043.

MATCH FILES FILE=* / TABLE="fam70.sys"/ RENAME=(V1102=ER30043)
 / BY=ER30043.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind70.sys"



* =====================================================
   Step 2: subset data from 1971 family file (n=4840).

FILE HANDLE fam71 / NAME='[PATH]\FAM1971.txt'  LRECL=947.
DATA LIST FILE=fam71 /
    V1802 2-5
     /*      your 1971 variable locations here  */
  .
VARIABLE LABELS
    V1802 ="1971 ID NO."
     /*      your 1971 variable labels here     */
  .
MISSING VALUES
     /*      your 1971 missing data values here */
  .
SORT CASES BY V1802.
SAVE OUTFILE="fam71.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30067.

MATCH FILES FILE=* / TABLE="fam71.sys"/ RENAME=(V1802=ER30067)
 / BY=ER30067.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind71.sys"



* =====================================================
   Step 2: subset data from 1972 family file (n=5060).

FILE HANDLE fam72 / NAME='[PATH]\FAM1972.txt'  LRECL=995.
DATA LIST FILE=fam72 /
    V2402 4-7
     /*      your 1972 variable locations here  */
  .
VARIABLE LABELS
    V2402 ="1972 INT #        46:6-9"
     /*      your 1972 variable labels here     */
  .
MISSING VALUES
     /*      your 1972 missing data values here */
  .
SORT CASES BY V2402.
SAVE OUTFILE="fam72.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30091.

MATCH FILES FILE=* / TABLE="fam72.sys"/ RENAME=(V2402=ER30091)
 / BY=ER30091.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind72.sys"



* =====================================================
   Step 2: subset data from 1973 family file (n=5285).

FILE HANDLE fam73 / NAME='[PATH]\FAM1973.txt'  LRECL=557.
DATA LIST FILE=fam73 /
    V3002 4-7
     /*      your 1973 variable locations here  */
  .
VARIABLE LABELS
    V3002 ="1973 INT #        59:6-9"
     /*      your 1973 variable labels here     */
  .
MISSING VALUES
     /*      your 1973 missing data values here */
  .
SORT CASES BY V3002.
SAVE OUTFILE="fam73.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30117.

MATCH FILES FILE=* / TABLE="fam73.sys"/ RENAME=(V3002=ER30117)
 / BY=ER30117.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind73.sys"



* =====================================================
   Step 2: subset data from 1974 family file (n=5517).

FILE HANDLE fam74 / NAME='[PATH]\FAM1974.txt'  LRECL=610.
DATA LIST FILE=fam74 /
    V3402 4-7
     /*      your 1974 variable locations here  */
  .
VARIABLE LABELS
    V3402 ="1974 ID NUMBER"
     /*      your 1974 variable labels here     */
  .
MISSING VALUES
     /*      your 1974 missing data values here */
  .
SORT CASES BY V3402.
SAVE OUTFILE="fam74.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30138.

MATCH FILES FILE=* / TABLE="fam74.sys"/ RENAME=(V3402=ER30138)
 / BY=ER30138.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind74.sys"



* =====================================================
   Step 2: subset data from 1975 family file (n=5725).

FILE HANDLE fam75 / NAME='[PATH]\FAM1975.txt'  LRECL=754.
DATA LIST FILE=fam75 /
    V3802 4-7
     /*      your 1975 variable locations here  */
  .
VARIABLE LABELS
    V3802 ="1975 INT #        80:6-9"
     /*      your 1975 variable labels here     */
  .
MISSING VALUES
     /*      your 1975 missing data values here */
  .
SORT CASES BY V3802.
SAVE OUTFILE="fam75.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30160.

MATCH FILES FILE=* / TABLE="fam75.sys"/ RENAME=(V3802=ER30160)
 / BY=ER30160.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind75.sys"



* =====================================================
   Step 2: subset data from 1976 family file (n=5862).

FILE HANDLE fam76 / NAME='[PATH]\FAM1976.txt'  LRECL=1460.
DATA LIST FILE=fam76 /
    V4302 4-7
     /*      your 1976 variable locations here  */
  .
VARIABLE LABELS
    V4302 ="1976 ID NUMBER       6V2"
     /*      your 1976 variable labels here     */
  .
MISSING VALUES
     /*      your 1976 missing data values here */
  .
SORT CASES BY V4302.
SAVE OUTFILE="fam76.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30188.

MATCH FILES FILE=* / TABLE="fam76.sys"/ RENAME=(V4302=ER30188)
 / BY=ER30188.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind76.sys"



* =====================================================
   Step 2: subset data from 1977 family file (n=6007).

FILE HANDLE fam77 / NAME='[PATH]\FAM1977.txt'  LRECL=936.
DATA LIST FILE=fam77 /
    V5202 4-7
     /*      your 1977 variable locations here  */
  .
VARIABLE LABELS
    V5202 ="1977 ID"
     /*      your 1977 variable labels here     */
  .
MISSING VALUES
     /*      your 1977 missing data values here */
  .
SORT CASES BY V5202.
SAVE OUTFILE="fam77.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30217.

MATCH FILES FILE=* / TABLE="fam77.sys"/ RENAME=(V5202=ER30217)
 / BY=ER30217.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind77.sys"



* =====================================================
   Step 2: subset data from 1978 family file (n=6154).

FILE HANDLE fam78 / NAME='[PATH]\FAM1978.txt'  LRECL=962.
DATA LIST FILE=fam78 /
    V5702 4-7
     /*      your 1978 variable locations here  */
  .
VARIABLE LABELS
    V5702 ="1978 ID"
     /*      your 1978 variable labels here     */
  .
MISSING VALUES
     /*      your 1978 missing data values here */
  .
SORT CASES BY V5702.
SAVE OUTFILE="fam78.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30246.

MATCH FILES FILE=* / TABLE="fam78.sys"/ RENAME=(V5702=ER30246)
 / BY=ER30246.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind78.sys"



* =====================================================
   Step 2: subset data from 1979 family file (n=6373).

FILE HANDLE fam79 / NAME='[PATH]\FAM1979.txt'  LRECL=1037.
DATA LIST FILE=fam79 /
    V6302 4-7
     /*      your 1979 variable locations here  */
  .
VARIABLE LABELS
    V6302 ="1979 ID"
     /*      your 1979 variable labels here     */
  .
MISSING VALUES
     /*      your 1979 missing data values here */
  .
SORT CASES BY V6302.
SAVE OUTFILE="fam79.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30283.

MATCH FILES FILE=* / TABLE="fam79.sys"/ RENAME=(V6302=ER30283)
 / BY=ER30283.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind79.sys"



* =====================================================
   Step 2: subset data from 1980 family file (n=6533).

FILE HANDLE fam80 / NAME='[PATH]\FAM1980.txt'  LRECL=1097.
DATA LIST FILE=fam80 /
    V6902 4-7
     /*      your 1980 variable locations here  */
  .
VARIABLE LABELS
    V6902 ="1980 INTERVIEW NUMBER"
     /*      your 1980 variable labels here     */
  .
MISSING VALUES
     /*      your 1980 missing data values here */
  .
SORT CASES BY V6902.
SAVE OUTFILE="fam80.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30313.

MATCH FILES FILE=* / TABLE="fam80.sys"/ RENAME=(V6902=ER30313)
 / BY=ER30313.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind80.sys"



* =====================================================
   Step 2: subset data from 1981 family file (n=6620).

FILE HANDLE fam81 / NAME='[PATH]\FAM1981.txt'  LRECL=1240.
DATA LIST FILE=fam81 /
    V7502 4-7
     /*      your 1981 variable locations here  */
  .
VARIABLE LABELS
    V7502 ="1981 INTERVIEW NUMBER"
     /*      your 1981 variable labels here     */
  .
MISSING VALUES
     /*      your 1981 missing data values here */
  .
SORT CASES BY V7502.
SAVE OUTFILE="fam81.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30343.

MATCH FILES FILE=* / TABLE="fam81.sys"/ RENAME=(V7502=ER30343)
 / BY=ER30343.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind81.sys"



* =====================================================
   Step 2: subset data from 1982 family file (n=6742).

FILE HANDLE fam82 / NAME='[PATH]\FAM1982.txt'  LRECL=1112.
DATA LIST FILE=fam82 /
    V8202 4-7
     /*      your 1982 variable locations here  */
  .
VARIABLE LABELS
    V8202 ="1982 INTERVIEW NUMBER"
     /*      your 1982 variable labels here     */
  .
MISSING VALUES
     /*      your 1982 missing data values here */
  .
SORT CASES BY V8202.
SAVE OUTFILE="fam82.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30373.

MATCH FILES FILE=* / TABLE="fam82.sys"/ RENAME=(V8202=ER30373)
 / BY=ER30373.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind82.sys"



* =====================================================
   Step 2: subset data from 1983 family file (n=6852).

FILE HANDLE fam83 / NAME='[PATH]\FAM1983.txt'  LRECL=1309.
DATA LIST FILE=fam83 /
    V8802 4-7
     /*      your 1983 variable locations here  */
  .
VARIABLE LABELS
    V8802 ="1983 INTERVIEW NUMBER"
     /*      your 1983 variable labels here     */
  .
MISSING VALUES
     /*      your 1983 missing data values here */
  .
SORT CASES BY V8802.
SAVE OUTFILE="fam83.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30399.

MATCH FILES FILE=* / TABLE="fam83.sys"/ RENAME=(V8802=ER30399)
 / BY=ER30399.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind83.sys"



* =====================================================
   Step 2: subset data from 1984 family file (n=6918).

FILE HANDLE fam84 / NAME='[PATH]\FAM1984.txt'  LRECL=1998.
DATA LIST FILE=fam84 /
    V10002 4-7
     /*      your 1984 variable locations here  */
  .
VARIABLE LABELS
    V10002 ="1984 INTERVIEW NUMBER"
     /*      your 1984 variable labels here     */
  .
MISSING VALUES
     /*      your 1984 missing data values here */
  .
SORT CASES BY V10002.
SAVE OUTFILE="fam84.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30429.

MATCH FILES FILE=* / TABLE="fam84.sys"/ RENAME=(V10002=ER30429)
 / BY=ER30429.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind84.sys"



* =====================================================
   Step 2: subset data from 1985 family file (n=7032).

FILE HANDLE fam85 / NAME='[PATH]\FAM1985.txt'  LRECL=2441.
DATA LIST FILE=fam85 /
    V11102 4-7
     /*      your 1985 variable locations here  */
  .
VARIABLE LABELS
    V11102 ="1985 INTERVIEW NUMBER"
     /*      your 1985 variable labels here     */
  .
MISSING VALUES
     /*      your 1985 missing data values here */
  .
SORT CASES BY V11102.
SAVE OUTFILE="fam85.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30463.

MATCH FILES FILE=* / TABLE="fam85.sys"/ RENAME=(V11102=ER30463)
 / BY=ER30463.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind85.sys"



* =====================================================
   Step 2: subset data from 1986 family file (n=7018).

FILE HANDLE fam86 / NAME='[PATH]\FAM1986.txt'  LRECL=2202.
DATA LIST FILE=fam86 /
    V12502 4-7
     /*      your 1986 variable locations here  */
  .
VARIABLE LABELS
    V12502 ="1986 INTERVIEW NUMBER"
     /*      your 1986 variable labels here     */
  .
MISSING VALUES
     /*      your 1986 missing data values here */
  .
SORT CASES BY V12502.
SAVE OUTFILE="fam86.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30498.

MATCH FILES FILE=* / TABLE="fam86.sys"/ RENAME=(V12502=ER30498)
 / BY=ER30498.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind86.sys"



* =====================================================
   Step 2: subset data from 1987 family file (n=7061).

FILE HANDLE fam87 / NAME='[PATH]\FAM1987.txt'  LRECL=2025.
DATA LIST FILE=fam87 /
    V13702 4-7
     /*      your 1987 variable locations here  */
  .
VARIABLE LABELS
    V13702 ="1987 INTERVIEW NUMBER"
     /*      your 1987 variable labels here     */
  .
MISSING VALUES
     /*      your 1987 missing data values here */
  .
SORT CASES BY V13702.
SAVE OUTFILE="fam87.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30535.

MATCH FILES FILE=* / TABLE="fam87.sys"/ RENAME=(V13702=ER30535)
 / BY=ER30535.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind87.sys"



* =====================================================
   Step 2: subset data from 1988 family file (n=7114).

FILE HANDLE fam88 / NAME='[PATH]\FAM1988.txt'  LRECL=2705.
DATA LIST FILE=fam88 /
    V14802 4-7
     /*      your 1988 variable locations here  */
  .
VARIABLE LABELS
    V14802 ="1988 INTERVIEW NUMBER"
     /*      your 1988 variable labels here     */
  .
MISSING VALUES
     /*      your 1988 missing data values here */
  .
SORT CASES BY V14802.
SAVE OUTFILE="fam88.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30570.

MATCH FILES FILE=* / TABLE="fam88.sys"/ RENAME=(V14802=ER30570)
 / BY=ER30570.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind88.sys"



* =====================================================
   Step 2: subset data from 1989 family file (n=7114).

FILE HANDLE fam89 / NAME='[PATH]\FAM1989.txt'  LRECL=2486.
DATA LIST FILE=fam89 /
    V16302 4-7
     /*      your 1989 variable locations here  */
  .
VARIABLE LABELS
    V16302 ="1989 INTERVIEW NUMBER"
     /*      your 1989 variable labels here     */
  .
MISSING VALUES
     /*      your 1989 missing data values here */
  .
SORT CASES BY V16302.
SAVE OUTFILE="fam89.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30606.

MATCH FILES FILE=* / TABLE="fam89.sys"/ RENAME=(V16302=ER30606)
 / BY=ER30606.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind89.sys"



* =====================================================
   Step 2: subset data from 1990 family file (n=9371).

FILE HANDLE fam90 / NAME='[PATH]\FAM1990.txt'  LRECL=2312.
DATA LIST FILE=fam90 /
    V17702 4-8
     /*      your 1990 variable locations here  */
  .
VARIABLE LABELS
    V17702 ="1990 INTERVIEW NUMBER 90"
     /*      your 1990 variable labels here     */
  .
MISSING VALUES
     /*      your 1990 missing data values here */
  .
SORT CASES BY V17702.
SAVE OUTFILE="fam90.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30642.

MATCH FILES FILE=* / TABLE="fam90.sys"/ RENAME=(V17702=ER30642)
 / BY=ER30642.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind90.sys"


* =====================================================
   Step 2: subset data from 1991 family file (n=9363).

FILE HANDLE fam91 / NAME='[PATH]\FAM1991.txt'  LRECL=2314.
DATA LIST FILE=fam91 /
    V19002 2-5
     /*      your 1991 variable locations here  */
  .
VARIABLE LABELS
    V19002 ="1991 INTERVIEW NUMBER"
     /*      your 1991 variable labels here     */
  .
MISSING VALUES
     /*      your 1991 missing data values here */
  .
SORT CASES BY V19002.
SAVE OUTFILE="fam91.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30689.

MATCH FILES FILE=* / TABLE="fam91.sys"/ RENAME=(V19002=ER30689)
 / BY=ER30689.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind91.sys"



* =====================================================
   Step 2: subset data from 1992 family file (n=9829).

FILE HANDLE fam92 / NAME='[PATH]\FAM1992.txt'  LRECL=2294.
DATA LIST FILE=fam92 /
    V20302 4-7
     /*      your 1992 variable locations here  */
  .
VARIABLE LABELS
    V20302 ="1992 INTERVIEW NUMBER"
     /*      your 1992 variable labels here     */
  .
MISSING VALUES
     /*      your 1992 missing data values here */
  .
SORT CASES BY V20302.
SAVE OUTFILE="fam92.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30733.

MATCH FILES FILE=* / TABLE="fam92.sys"/ RENAME=(V20302=ER30733)
 / BY=ER30733.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind92.sys"



* =====================================================
   Step 2: subset data from 1993 family file (n=9977).

FILE HANDLE fam93 / NAME='[PATH]\FAM1993.txt'  LRECL=3329.
DATA LIST FILE=fam93 /
    V21602 2-6
     /*      your 1993 variable locations here  */
  .
VARIABLE LABELS
    V21602 ="1993 INTERVIEW NUMBER"
     /*      your 1993 variable labels here     */
  .
MISSING VALUES
     /*      your 1993 missing data values here */
  .
SORT CASES BY V21602.
SAVE OUTFILE="fam93.sys".

GET FILE="indvars.sys".
SORT CASES BY ER30806.

MATCH FILES FILE=* / TABLE="fam93.sys"/ RENAME=(V21602=ER30806)
 / BY=ER30806.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind93.sys"



* =====================================================
   Step 2: subset data from 1994 family file (n=10764).

FILE HANDLE fam94 / NAME='[PATH]\FAM1994ER.txt'  LRECL=4264.
DATA LIST FILE=fam94 /
    ER2002 2-6
     /*      your 1994 variable locations here  */
  .
VARIABLE LABELS
    ER2002 ="1994 INTERVIEW #"
     /*      your 1994 variable labels here     */
  .
MISSING VALUES
     /*      your 1994 missing data values here */
  .
SORT CASES BY ER2002.
SAVE OUTFILE="fam94.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33101.

MATCH FILES FILE=* / TABLE="fam94.sys"/ RENAME=(ER2002=ER33101)
 / BY=ER33101.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind94.sys"



* =====================================================
   Step 2: subset data from 1995 family file (n=10401).

FILE HANDLE fam95 / NAME='[PATH]\FAM1995ER.txt'  LRECL=4052.
DATA LIST FILE=fam95 /
    ER5002 2-6
     /*      your 1995 variable locations here  */
  .
VARIABLE LABELS
    ER5002 ="1995 INTERVIEW #"
     /*      your 1995 variable labels here     */
  .
MISSING VALUES
     /*      your 1995 missing data values here */
  .
SORT CASES BY ER5002.
SAVE OUTFILE="fam95.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33201.

MATCH FILES FILE=* / TABLE="fam95.sys"/ RENAME=(ER5002=ER33201)
 / BY=ER33201.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind95.sys"



* =====================================================
   Step 2: subset data from 1996 family file (n=8511).

FILE HANDLE fam96 / NAME='[PATH]\FAM1996ER.txt'  LRECL=4536.
DATA LIST FILE=fam96 /
    ER7002 2-5
     /*      your 1996 variable locations here  */
  .
VARIABLE LABELS
    ER7002 ="1996 INTERVIEW #"
     /*      your 1996 variable labels here     */
  .
MISSING VALUES
     /*      your 1996 missing data values here */
  .
SORT CASES BY ER7002.
SAVE OUTFILE="fam96.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33301.

MATCH FILES FILE=* / TABLE="fam96.sys"/ RENAME=(ER7002=ER33301)
 / BY=ER33301.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind96.sys"



* =====================================================
   Step 2: subset data from 1997 family file (n=6747).

FILE HANDLE fam97 / NAME='[PATH]\FAM1997ER.txt'  LRECL=4395.
DATA LIST FILE=fam97 /
    ER10002 2-6
     /*      your 1997 variable locations here  */
  .
VARIABLE LABELS
    ER10002 = "1997 INTERVIEW #"
     /*      your 1997 variable labels here     */
  .
MISSING VALUES
     /*      your 1997 missing data values here */
  .
SORT CASES BY ER10002.
SAVE OUTFILE="fam97.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33401.

MATCH FILES FILE=* / TABLE="fam97.sys"/ RENAME=(ER10002=ER33401)
 / BY=ER33401.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind97.sys"



* =====================================================
   Step 2: subset data from 1999 family file (n=6997).

FILE HANDLE fam99 / NAME='[PATH]\FAM1999ER.txt'  LRECL=6917.
DATA LIST FILE=fam99 /
    ER13002 2-6
     /*      your 1999 variable locations here  */
  .
VARIABLE LABELS
    ER13002 = "1999 FAMILY INTERVIEW (ID) NUMBER"
     /*      your 1999 variable labels here     */
  .
MISSING VALUES
     /*      your 1999 missing data values here */
  .
SORT CASES BY ER13002.
SAVE OUTFILE="fam99.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33501.

MATCH FILES FILE=* / TABLE="fam99.sys"/ RENAME=(ER13002=ER33501)
 / BY=ER33501.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind99.sys"



* =====================================================
   Step 2: subset data from 2001 family file (n=7406).

FILE HANDLE fam01 / NAME='[PATH]\FAM2001ER.txt'  LRECL=6728.
DATA LIST FILE=fam01 /
    ER17002 2-5
     /*      your 2001 variable locations here  */
  .
VARIABLE LABELS
    ER17002 = "2001 FAMILY INTERVIEW (ID) NUMBER"
     /*      your 2001 variable labels here     */
  .
MISSING VALUES
     /*      your 2001 missing data values here */
  .
SORT CASES BY ER17002.
SAVE OUTFILE="fam01.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33601.

MATCH FILES FILE=* / TABLE="fam01.sys"/ RENAME=(ER17002=ER33601)
 / BY=ER33601.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind01.sys"



* =====================================================
   Step 2: subset data from 2003 family file (n=7822).

FILE HANDLE fam03 / NAME='[PATH]\FAM2003ER.txt'  LRECL=6044.
DATA LIST FILE=fam03 /
    ER21002 2-6
     /*      your 2003 variable locations here  */
  .
VARIABLE LABELS
    ER21002 = "2003 FAMILY INTERVIEW (ID) NUMBER"
     /*      your 2003 variable labels here     */
  .
MISSING VALUES
     /*      your 2003 missing data values here */
  .
SORT CASES BY ER21002.
SAVE OUTFILE="fam03.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33701.

MATCH FILES FILE=* / TABLE="fam03.sys"/ RENAME=(ER21002=ER33701)
 / BY=ER33701.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind03.sys"



* =====================================================
   Step 2: subset data from 2005 family file (n=8002).

FILE HANDLE fam05 / NAME='[PATH]\FAM2005ER.txt'  LRECL=6224.
DATA LIST FILE=fam05 /
    ER25002 2-6
     /*      your 2005 variable locations here  */
  .
VARIABLE LABELS
    ER25002 = "2005 FAMILY INTERVIEW (ID) NUMBER"
     /*      your 2005 variable labels here     */
  .
MISSING VALUES
     /*      your 2005 missing data values here */
  .
SORT CASES BY ER25002.
SAVE OUTFILE="fam05.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33801.

MATCH FILES FILE=* / TABLE="fam05.sys"/ RENAME=(ER25002=ER33801)
 / BY=ER33801.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind05.sys"



* =====================================================
   Step 2: subset data from 2007 family file (n=8289).

FILE HANDLE fam07 / NAME='[PATH]\FAM2007ER.txt'  LRECL=8185.
DATA LIST FILE=fam07 /
    ER36002 2-6
     /*      your 2007 variable locations here  */
  .
VARIABLE LABELS
    ER36002 = "2007 FAMILY INTERVIEW (ID) NUMBER"
     /*      your 2007 variable labels here     */
  .
MISSING VALUES
     /*      your 2007 missing data values here */
  .
SORT CASES BY ER36002.
SAVE OUTFILE="fam07.sys".

GET FILE="indvars.sys".
SORT CASES BY ER33901.

MATCH FILES FILE=* / TABLE="fam07.sys"/ RENAME=(ER36002=ER33901)
 / BY=ER33901.

SORT CASES BY ER30001 ER30002.
SAVE OUTFILE="famind07.sys"

* =====================================================
* Step 3: match familiy-individual files by individual identifiers.

MATCH FILES
  FILE=famind68.sys /
  FILE=famind69.sys /
  FILE=famind70.sys /
  FILE=famind71.sys /
  FILE=famind72.sys /
  FILE=famind73.sys /
  FILE=famind74.sys /
  FILE=famind75.sys /
  FILE=famind76.sys /
  FILE=famind77.sys /
  FILE=famind78.sys /
  FILE=famind79.sys /
  FILE=famind80.sys /
  FILE=famind81.sys /
  FILE=famind82.sys /
  FILE=famind83.sys /
  FILE=famind84.sys /
  FILE=famind85.sys /
  FILE=famind86.sys /
  FILE=famind87.sys /
  FILE=famind88.sys /
  FILE=famind89.sys /
  FILE=famind90.sys /
  FILE=famind91.sys /
  FILE=famind92.sys /
  FILE=famind93.sys /
  FILE=famind94.sys /
  FILE=famind95.sys /
  FILE=famind96.sys /
  FILE=famind97.sys /
  FILE=famind99.sys /
  FILE=famind01.sys /
  FILE=famind03.sys /
  FILE=famind05.sys /
  FILE=famind07.sys /
  BY=ER30001 ER30002.
SAVE OUTFILE='xyrfind.sys'.

* =====================================================
.
 
 



Institute for Social Research | University of Michigan | Privacy | Conditions of Use