options nocenter validvarname=any; *---Read in space-delimited ascii file; data new_data; infile 'C:\zzy\NLS\default-20100310203559113\default.dat' lrecl=84 missover DSD DLM=' ' print; input R0000100 R0034200 R0536300 R0536401 R0536402 R1194000 R1194100 R1236300 R1482600 R1582400 R2553500 R2874200 R3876300 R3925700 R3989400 R4173100 R5453700 R5518600 R5827900 R7216000 R7282900 S0202000 S1530000 S1531400 ; array nvarlist _numeric_; *---Recode missing values to SAS custom system missing. See SAS documentation for use of MISSING option in procedures, e.g. PROC FREQ; do over nvarlist; if nvarlist = -1 then nvarlist = -9; /* Refused */ if nvarlist = -2 then nvarlist = -9; /* Dont know */ if nvarlist = -3 then nvarlist = -9; /* Invalid missing */ if nvarlist = -4 then nvarlist = -9; /* Valid missing */ if nvarlist = -5 then nvarlist = -9; /* Non-interview */ end; label R0000100 = "PUBID - YTH ID CODE 1997"; label R0034200 = "WHAT HGC? 1997"; label R0536300 = "KEY!SEX (SYMBOL) 1997"; label R0536401 = "KEY!BDATE M/Y (SYMBOL) 1997"; label R0536402 = "KEY!BDATE M/Y (SYMBOL) 1997"; label R1194000 = "CV_AGE_12/31/96 1997"; label R1194100 = "age1997"; label R1236300 = "piat1997"; label R1482600 = "race"; label R1582400 = "WHAT IS CURR HGC? 1998"; label R2553500 = "CV_AGE_INT_DATE 1998"; label R2874200 = "WHAT IS CURR HGC? 1999"; label R3876300 = "CV_AGE_INT_DATE 1999"; label R3925700 = "REVISED PIAT RAW SCORE 1999"; label R3989400 = "REVISED PIAT RAW SCORE 1998"; label R4173100 = "WHAT IS CURR HGC? 2000"; label R5453700 = "CV_AGE_INT_DATE 2000"; label R5518600 = "REVISED PIAT RAW SCORE 2000"; label R5827900 = "WHAT IS CURR HGC? 2001"; label R7216000 = "CV_AGE_INT_DATE 2001"; label R7282900 = "REVISED PIAT RAW SCORE 2001"; label S0202000 = "WHAT IS CURR HGC? 2002"; label S1530000 = "PIAT RAW SCORE_REVISED 2002"; label S1531400 = "CV_AGE_INT_DATE 2002"; /*---------------------------------------------------------------------* * Crosswalk for Reference number & Question name * *---------------------------------------------------------------------* * Uncomment and edit this RENAME statement to rename variables * for ease of use. You may need to use name literal strings * e.g. 'variable-name'n to create valid SAS variable names, or * alter variables similarly named across years. * This command does not guarentee uniqueness * See SAS documentation for use of name literals and use of the * VALIDVARNAME=ANY option. *---------------------------------------------------------------------*/ /* *start* */ RENAME R0000100 = 'id1997'n R0034200 = 'grade1997'n R0536300 = 'sex'n R0536401 = 'KEY!BDATE_M_1997'n R0536402 = 'KEY!BDATE_Y_1997'n R1194000 = 'CV_AGE_12/31/96_1997'n R1194100 = 'age1997'n R1236300 = 'piat1997'n R1482600 = 'race'n R1582400 = 'grade1998'n R2553500 = 'age1998'n R2874200 = 'grade1999'n R3876300 = 'age1999'n R3925700 = 'piat1999'n R3989400 = 'piat1998'n R4173100 = 'grade2000'n R5453700 = 'age2000'n R5518600 = 'piat2000'n R5827900 = 'grade2001'n R7216000 = 'age2001'n R7282900 = 'piat2001'n S0202000 = 'grade2002'n S1530000 = 'piat2002'n S1531400 = 'age2002'n ; /* *finish* */ run; proc means data=new_data n mean min max; run; data temp1; set new_data; all=piat1997+ piat1998+piat1999+piat2000 +piat2001+piat2002; if all = -54 then delete; run; data temp; set temp1; array nvarlist _numeric_; *---Recode missing values to SAS custom system missing. See SAS documentation for use of MISSING option in procedures, e.g. PROC FREQ; do over nvarlist; if nvarlist = -9 then nvarlist = .; /* Refused */ end; run; data temp3; set temp; keep id1997 sex race grade1997-grade2002 age1997-age2002 piat1997-piat2002; run; data temp4; set temp3; file "C:\zzy\NLS\default-20100310203559113\piatmath-age-grade.dat"; put id1997 sex race grade1997-grade2002 age1997-age2002 piat1997-piat2002; run; /*---------------------------------------------------------------------* * FORMATTED TABULATIONS * *---------------------------------------------------------------------* * You can uncomment and edit the PROC FORMAT and PROC FREQ statements * provided below to obtain formatted tabulations. The tabulations * should reflect codebook values. * * Please edit the formats below reflect any renaming of the variables * you may have done in the first data step. *---------------------------------------------------------------------*/ /* proc format; value vx0f 0='0' 1-999='1 TO 999' 1000-1999='1000 TO 1999' 2000-2999='2000 TO 2999' 3000-3999='3000 TO 3999' 4000-4999='4000 TO 4999' 5000-5999='5000 TO 5999' 6000-6999='6000 TO 6999' 7000-7999='7000 TO 7999' 8000-8999='8000 TO 8999' 9000-9999='9000 TO 9999' ; value vx1f 1='1ST GRADE' 2='2ND GRADE' 3='3RD GRADE' 4='4TH GRADE' 5='5TH GRADE' 6='6TH GRADE' 7='7TH GRADE' 8='8TH GRADE' 9='9TH GRADE' 10='10TH GRADE' 11='11TH GRADE' 12='12TH GRADE' 13='1ST YEAR COLLEGE' 14='2ND YEAR COLLEGE' 15='3RD YEAR COLLEGE' 16='4TH YEAR COLLEGE' 17='5TH YEAR COLLEGE' 18='6TH YEAR COLLEGE' 19='7TH YEAR COLLEGE' 20='8TH YEAR COLLEGE OR MORE' 95='UNGRADED' 0='NONE' ; value vx2f 1='Male' 2='Female' 0='No Information' ; value vx3f 1='1: January' 2='2: February' 3='3: March' 4='4: April' 5='5: May' 6='6: June' 7='7: July' 8='8: August' 9='9: September' 10='10: October' 11='11: November' 12='12: December' ; value vx5f 0-11='0 TO 11: LESS THAN 12' 12='12' 13='13' 14='14' 15='15' 16='16' 17='17' 18='18' 19-999='19 TO 999: GREATER THAN 18' ; value vx6f 0-11='0 TO 11: LESS THAN 12' 12='12' 13='13' 14='14' 15='15' 16='16' 17='17' 18='18' 19-999='19 TO 999: GREATER THAN 18' ; value vx7f 0='0' 1-9='1 TO 9' 10-19='10 TO 19' 20-29='20 TO 29' 30-39='30 TO 39' 40-49='40 TO 49' 50-59='50 TO 59' 60-69='60 TO 69' 70-79='70 TO 79' 80-89='80 TO 89' 90-99='90 TO 99' 100='100' ; value vx8f 1='Black' 2='Hispanic' 3='Mixed Race (Non-Hispanic)' 4='Non-Black / Non-Hispanic' ; value vx9f 0='NONE' 1='1ST GRADE' 2='2ND GRADE' 3='3RD GRADE' 4='4TH GRADE' 5='5TH GRADE' 6='6TH GRADE' 7='7TH GRADE' 8='8TH GRADE' 9='9TH GRADE' 10='10TH GRADE' 11='11TH GRADE' 12='12TH GRADE' 13='1ST YEAR COLLEGE' 14='2ND YEAR COLLEGE' 15='3RD YEAR COLLEGE' 16='4TH YEAR COLLEGE' 17='5TH YEAR COLLEGE' 18='6TH YEAR COLLEGE' 19='7TH YEAR COLLEGE' 20='8TH YEAR COLLEGE OR MORE' 95='UNGRADED' ; value vx10f 0-11='0 TO 11: LESS THAN 12' 12='12' 13='13' 14='14' 15='15' 16='16' 17='17' 18='18' 19-999='19 TO 999: GREATER THAN 18' ; value vx11f 0='NONE' 1='1ST GRADE' 2='2ND GRADE' 3='3RD GRADE' 4='4TH GRADE' 5='5TH GRADE' 6='6TH GRADE' 7='7TH GRADE' 8='8TH GRADE' 9='9TH GRADE' 10='10TH GRADE' 11='11TH GRADE' 12='12TH GRADE' 13='1ST YEAR COLLEGE' 14='2ND YEAR COLLEGE' 15='3RD YEAR COLLEGE' 16='4TH YEAR COLLEGE' 17='5TH YEAR COLLEGE' 18='6TH YEAR COLLEGE' 19='7TH YEAR COLLEGE' 20='8TH YEAR COLLEGE OR MORE' 95='UNGRADED' ; value vx12f 0-11='0 TO 11: LESS THAN 12' 12='12' 13='13' 14='14' 15='15' 16='16' 17='17' 18='18' 19-999='19 TO 999: GREATER THAN 18' ; value vx13f 0='0' 1-9='1 TO 9' 10-19='10 TO 19' 20-29='20 TO 29' 30-39='30 TO 39' 40-49='40 TO 49' 50-59='50 TO 59' 60-69='60 TO 69' 70-79='70 TO 79' 80-89='80 TO 89' 90-99='90 TO 99' 100-99999999='100 TO 99999999: 100+' ; value vx14f 0='0' 1-9='1 TO 9' 10-19='10 TO 19' 20-29='20 TO 29' 30-39='30 TO 39' 40-49='40 TO 49' 50-59='50 TO 59' 60-69='60 TO 69' 70-79='70 TO 79' 80-89='80 TO 89' 90-99='90 TO 99' 100='100' ; value vx15f 0='NONE' 1='1ST GRADE' 2='2ND GRADE' 3='3RD GRADE' 4='4TH GRADE' 5='5TH GRADE' 6='6TH GRADE' 7='7TH GRADE' 8='8TH GRADE' 9='9TH GRADE' 10='10TH GRADE' 11='11TH GRADE' 12='12TH GRADE' 13='1ST YEAR COLLEGE' 14='2ND YEAR COLLEGE' 15='3RD YEAR COLLEGE' 16='4TH YEAR COLLEGE' 17='5TH YEAR COLLEGE' 18='6TH YEAR COLLEGE' 19='7TH YEAR COLLEGE' 20='8TH YEAR COLLEGE OR MORE' 95='UNGRADED' ; value vx16f 14='14' 15='15' 16='16' 17='17' 18='18' 19-20='19 TO 20: 19' 20='20' 21-100='21 TO 100: Age 21 and older' ; value vx17f 0='0' 1-9='1 TO 9' 10-19='10 TO 19' 20-29='20 TO 29' 30-39='30 TO 39' 40-49='40 TO 49' 50-59='50 TO 59' 60-69='60 TO 69' 70-79='70 TO 79' 80-89='80 TO 89' 90-99='90 TO 99' 100-99999999='100 TO 99999999: 100+' ; value vx18f 0='NONE' 1='1ST GRADE' 2='2ND GRADE' 3='3RD GRADE' 4='4TH GRADE' 5='5TH GRADE' 6='6TH GRADE' 7='7TH GRADE' 8='8TH GRADE' 9='9TH GRADE' 10='10TH GRADE' 11='11TH GRADE' 12='12TH GRADE' 13='1ST YEAR COLLEGE' 14='2ND YEAR COLLEGE' 15='3RD YEAR COLLEGE' 16='4TH YEAR COLLEGE' 17='5TH YEAR COLLEGE' 18='6TH YEAR COLLEGE' 19='7TH YEAR COLLEGE' 20='8TH YEAR COLLEGE OR MORE' 95='UNGRADED' ; value vx19f 14='14' 15='15' 16='16' 17='17' 18='18' 19='19' 20='20' 21='21' 22-100='22 TO 100: Age 22 or greater' ; value vx20f 0='0' 1-9='1 TO 9' 10-19='10 TO 19' 20-29='20 TO 29' 30-39='30 TO 39' 40-49='40 TO 49' 50-59='50 TO 59' 60-69='60 TO 69' 70-79='70 TO 79' 80-89='80 TO 89' 90-99='90 TO 99' 100-99999999='100 TO 99999999: 100+' ; value vx21f 0='NONE' 1='1ST GRADE' 2='2ND GRADE' 3='3RD GRADE' 4='4TH GRADE' 5='5TH GRADE' 6='6TH GRADE' 7='7TH GRADE' 8='8TH GRADE' 9='9TH GRADE' 10='10TH GRADE' 11='11TH GRADE' 12='12TH GRADE' 13='1ST YEAR COLLEGE' 14='2ND YEAR COLLEGE' 15='3RD YEAR COLLEGE' 16='4TH YEAR COLLEGE' 17='5TH YEAR COLLEGE' 18='6TH YEAR COLLEGE' 19='7TH YEAR COLLEGE' 20='8TH YEAR COLLEGE OR MORE' 95='UNGRADED' ; value vx22f 0='0' 1-9='1 TO 9' 10-19='10 TO 19' 20-29='20 TO 29' 30-39='30 TO 39' 40-49='40 TO 49' 50-59='50 TO 59' 60-69='60 TO 69' 70-79='70 TO 79' 80-89='80 TO 89' 90-99='90 TO 99' 100-99999999='100 TO 99999999: 100+' ; value vx23f 14='14' 15='15' 16='16' 17='17' 18='18' 19='19' 20='20' 21='21' 22-100='22 TO 100: Age 22 or greater' ; */ /* *--- Tabulations using reference number variables; proc freq data=new_data; tables _ALL_ /MISSING; format R0000100 vx0f.; format R0034200 vx1f.; format R0536300 vx2f.; format R0536401 vx3f.; format R1194000 vx5f.; format R1194100 vx6f.; format R1236300 vx7f.; format R1482600 vx8f.; format R1582400 vx9f.; format R2553500 vx10f.; format R2874200 vx11f.; format R3876300 vx12f.; format R3925700 vx13f.; format R3989400 vx14f.; format R4173100 vx15f.; format R5453700 vx16f.; format R5518600 vx17f.; format R5827900 vx18f.; format R7216000 vx19f.; format R7282900 vx20f.; format S0202000 vx21f.; format S1530000 vx22f.; format S1531400 vx23f.; run; */ /* *--- Tabulations using default named variables; proc freq data=new_data; tables _ALL_ /MISSING; format PUBID_1997 vx0f.; format YSCH-5000_1997 vx1f.; format KEY!SEX_1997 vx2f.; format KEY!BDATE_M_1997 vx3f.; format CV_AGE_12/31/96_1997 vx5f.; format CV_AGE_INT_DATE_1997 vx6f.; format PIAT_RAW_SCORE_REVISED_1997 vx7f.; format KEY!RACE_ETHNICITY_1997 vx8f.; format YSCH-3112_1998 vx9f.; format CV_AGE_INT_DATE_1998 vx10f.; format YSCH-3112_1999 vx11f.; format CV_AGE_INT_DATE_1999 vx12f.; format PIAT_RAW_SCORE_REVISED_1999 vx13f.; format PIAT_RAW_SCORE_REVISED_1998 vx14f.; format YSCH-3112_2000 vx15f.; format CV_AGE_INT_DATE_2000 vx16f.; format PIAT_RAW_SCORE_REVISED_2000 vx17f.; format YSCH-3112_2001 vx18f.; format CV_AGE_INT_DATE_2001 vx19f.; format PIAT_RAW_SCORE_REVISED_2001 vx20f.; format YSCH-3112_2002 vx21f.; format PIAT_RAW_SCORE_REVISED_2002 vx22f.; format CV_AGE_INT_DATE_2002 vx23f.; run; */