****************************************************************** * * * PROGRAM : PTP.SAS * * * * PROGRAMMER : Anne Maumary-Gremaud * * * * PURPOSE : Create a SAS dataset containing derived * * variables from the PxFx datasets. * * Parent Teacher involvement, parent rating * * Program can be modified to process PxFx data * * from any cohort or year by setting severals * * parameters at beginning of program. * * * * INPUT : Datasets containing elemental SAS variables * * for each sites (xPxFx) * * * * OUPUT : SAS dataset containing the derived variables * * * * Modified: Jennifer Godwin (4/15/04) to run on aggregate * * data using linmean macro * ******************************************************************; ** Fill out information in next section for data **; ** Processed in this run. **; ** Name lib Holding SAS data infiles **; libname SASIN 'N:\Datasets\Parent\parentteacherinvolvement_P\U' ; ** Specify Lib for output data sets **; libname SASOUT 'N:\Datasets\Parent\parentteacherinvolvement_P\S' ; ** Specify Lib Holding allkeys file **; libname k v6 'N:\'; ** Enter year of data collection **; %let yr= 6 ; **** DO NOT MODIFY BELLOW 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.ptp&yr. ; set SASIN.p&yr.f; run; %let indata=sasout.ptp&yr.; ** compute the derived variable of Teacher relationship quality factor **; %let var_name = PTP&yr.TQS ; %let var_labl = %str(Teacher relationship quality score y&yr.) ; %let var_list = %str(P&yr.F11 - P&yr.F17); %linmean ; ** compute the derived variable of Parent Involvement **; %let var_name = PTP&yr.PIN ; %let var_labl = %str(Parent Involvement mean score y&yr.) ; %let var_list = %str(P&yr.F5 - P&yr.F7 P&yr.F9 P&yr.F10 P&yr.F18 - P&yr.F22); %linmean ; ** compute the derived variable of Parent Endorsement of School **; %let var_name = PTP&yr.PEN ; %let var_labl = %str(Parent Endorsement means score y&yr.) ; %let var_list = %str(P&yr.F23-P&yr.F26); %linmean ; ** compute the derived variable of Parent-Teacher contact **; %let var_name = PTP&yr.PTC ; %let var_labl = %str(Parent-Teacher Contact mean score y&yr.) ; %let var_list = %str(P&yr.F1-P&yr.F4); %linmean ; proc sort ; by cohort site tcid; run;