*/========================================================== *. *. */ Select Mail Questionnaires, */ Split Sample by Sex, Renormalize Weights */ Copyright Kelly Shaver, 2006 */ Questions to ShaverK@cofc.edu. Please cite. :-) */ October 28, 2006 *. */========================================================== *. *. */ Run this only after having cleaned the original data set from 1,261 */ down to the 1,216 who should be there, using kscleans06.sps *. */------------------------------------------------------------------------------------------------------------------- *. */ Reduce the sample to cases with returned mail questionnaires. *. */------------------------------------------------------------------------------------------------------------------- *. */ Check survey return dates to identify number of cases with mail */ questionnaires returned. *. FREQ mailqyr. *. */ Select only those cases with a valid (not missing) mail questionnaire */ return year (MAILQYR). This should reduce the sample to 871. FILTER OFF. USE ALL. SELECT IF(SYSMIS(mailqyr) ~= 1). EXECUTE . CROSSTABS /TABLES=autonsu3 BY ncgender /FORMAT= AVALUE TABLES /CELLS= COUNT . *. */ The counts should be as follows: */ Full autonomy (245 females, 235 males, total of 480). */ Partial autonomy (41 females, 32 males, total of 73). */ Comparison group (173 females, 145 males, total of 318). *. */-------------------------------------------------------------------------------------------------------------- */ */ Determine the actual value of the weights after splitting the sample */ into the six categories created by the combination of autonomy (AUTONSU3) */ by sex (NCGENDER). */--------------------------------------------------------------------------------------------------------------- *. */ Create a new variable, SEXAUT to establish 6 cells. Then use each */ value of SEXAUT successively to determine the value of AUTWT. */ Within each SEXAUT cell, the values of AUTWT will not sum to the */ number of cases in the cell. Rather, they will sum to a value that must */ subsequently be used to renormalize the weights. */ */ SEXAUT will have six values, depending on */ the combination of NCGENDER (F=2; M=1) and AUTONSU3 */ (full=100; partial=200; control=300). *. COMPUTE SEXAUT=99. VARIABLE LABEL SEXAUT 'Combination of NCGENDER and AUTONSU3'. EXECUTE. MISSING VALUE SEXAUT (99). EXECUTE. IF ((ncgender = 2) & (autonsu3 = 100)) SEXAUT = 1 . EXECUTE . IF ((ncgender = 2) & (autonsu3 = 200)) SEXAUT = 2 . EXECUTE . IF ((ncgender = 2) & (autonsu3 = 300)) SEXAUT = 3 . EXECUTE . IF ((ncgender = 1) & (autonsu3 = 100)) SEXAUT = 4 . EXECUTE . IF ((ncgender = 1) & (autonsu3 = 200)) SEXAUT = 5 . EXECUTE . IF ((ncgender = 1) & (autonsu3 = 300)) SEXAUT = 6 . EXECUTE . *. VALUE LABELS SEXAUT 1 'Female Full' 2 'Female Partial' 3 'Female CG' 4 'Male Full' 5 'Male Partial' 6 'Male CG' 99 'Missing'. EXECUTE. *. *. */ Now find the sums of weights for each of the 6 cells. Filter by successive */ values of SEXAUT, so that descriptives are done by individual cells. USE ALL. COMPUTE filter_$=(SEXAUT = 1). VARIABLE LABEL filter_$ 'SEXAUT = 1 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=autwt /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 2). VARIABLE LABEL filter_$ 'SEXAUT = 2 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=autwt /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 3). VARIABLE LABEL filter_$ 'SEXAUT = 3 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=autwt /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 4). VARIABLE LABEL filter_$ 'SEXAUT = 4 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=autwt /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 5). VARIABLE LABEL filter_$ 'SEXAUT = 5 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=autwt /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 6). VARIABLE LABEL filter_$ 'SEXAUT = 6 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=autwt /STATISTICS=MEAN SUM STDDEV . *. FILTER OFF. USE ALL. *. */------------------------------------------------------------------------------------------------------------------- *. */ Finally, create a corrected mail weight, RETWT, based on the values */ obtained above. For each of the six SEXAUT cells, the general */ formula is [original weight]*[(cell N) / (sum of cell weights)]. *. */------------------------------------------------------------------------------------------------------------------- *. COMPUTE RETWT = 99. VARIABLE LABEL RETWT 'Mail weight corrected by returns and NCGENDER and AUTONSU3'. IF (SEXAUT=1) RETWT = autwt*(245/186.03). IF (SEXAUT=2) RETWT = autwt*(41/33.27). IF (SEXAUT=3) RETWT = autwt*(173/171.53). IF (SEXAUT=4) RETWT = autwt*(235/293.51). IF (SEXAUT=5) RETWT = autwt*(32/39.32). IF (SEXAUT=6) RETWT = autwt*(145/156.92). MISSING VALUES RETWT (99). EXECUTE. *. */ Now, finally, check to make sure that the returned questionnaire weight */ value, RETWT, has values for each of the six Sex x Autonomy cells that */ sum to the number of individuals in each of the six cells. *. USE ALL. COMPUTE filter_$=(SEXAUT = 1). VARIABLE LABEL filter_$ 'SEXAUT = 1 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=RETWT /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 2). VARIABLE LABEL filter_$ 'SEXAUT = 2 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=RETWT /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 3). VARIABLE LABEL filter_$ 'SEXAUT = 3 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=RETWT /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 4). VARIABLE LABEL filter_$ 'SEXAUT = 4 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=RETWT /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 5). VARIABLE LABEL filter_$ 'SEXAUT = 5 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=RETWT /STATISTICS=MEAN SUM STDDEV . *. USE ALL. COMPUTE filter_$=(SEXAUT = 6). VARIABLE LABEL filter_$ 'SEXAUT = 6 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE . DESCRIPTIVES VARIABLES=RETWT /STATISTICS=MEAN SUM STDDEV . *. FILTER OFF. USE ALL. *. *. */ At this point, you have renormalized the weights for the Sex X Autonomy cut of */ the mail questionnaire data. These weights will work perfectly ONLY if the */ items of interest to you have been answered by EVERYONE who returned a */ mail questionnaire. If some of the items have been omitted, the weights should */ be re-normalized using the syntax above as a model, but obviously adjusting the */ particular numbers in the fraction.