*********************************************************************; *Program:pcc.sas *Programmer: Cari McCarty *Date 1/26/01 *Purpose: to score the cYq dataset (Parent-Child Communication Child) *Modified: to work more generically for aggregated datasets - Patrick Malone 11/9/01 *Modified: to include linmean macro, Jennifer Godwin 6/7/2004 **********************************************************************; **Fill out information in next section for data processed ** **in this run. **; %let source=Child; %let src=c; %let inst=q_pcc; %let longname=parentchldcomm; %let scoredname=PCC; **Enter high-level path (e.g., l:\datasets) **; %let path=n:\datasets; **Enter year of data collection **; %let yr=11; **Enter variable which must be present to retain record (typically interviewer id) **; %let screen=intid; **Specify Lib for input datasets **; Libname SASIN "&path.\&source.\&longname.\U"; **Specify Lib for output datasets **; Libname SASOUT "&path.\&source.\&longname.\S"; ****** DO NOT MODIFY BELOW THIS LINE **************; *when calculating the mean; %macro linmean; data &INDATA; set &INDATA; label &var_name = "&var_labl"; array sumvars {*} &var_list; if n(of sumvars(*))>=.5*dim(sumvars) then &var_name=mean(of sumvars(*)); proc sort; by site tcid; run; %mend linmean; data SASOUT.&scoredname.&yr.; set SASIN.&src.&yr.&inst; if &screen ne ''; *reverse item 6; c&yr.qc6r=6-c&yr.qc6; label c&yr.qc6r="Reversed-Parent insults child when angry"; run; %let indata= SASOUT.&scoredname.&yr.; %let var_name = pcc&yr.pac ; %let var_labl = %str(pcc parent communication) ; %let var_list = %str(c&yr.qc1 c&yr.qc2 c&yr.qc3 c&yr.qc6r c&yr.qc10); %linmean; %let var_name = pcc&yr.chc ; %let var_labl = %str(pcc child communication) ; %let var_list = %str(c&yr.qc5 c&yr.qc7 c&yr.qc8); %linmean; proc sort; by cohort site tcid; run;