********************************************************************; *Program:ppc.sas ; * ; *Programmer: Cari McCarty ; *Date 12/30/01 ; * ; *Purpose: Score "Parenting-Primary Caregiver" ; * ; *Note: 2 subscales contain data from "About My Parent" ; * ; *Revised by J. Godwin 8/26/2004 to run on aggregate data ; ********************************************************************; *for years 5 and 6; %let yr=6; %let data1=x_p; %let data2=q_p; %let type1=xp; %let type2=qp; /* *for years 8 and 9; %let yr=9; %let data1=ab; %let data2=ak; %let type1=abp; %let type2=akp; */ libname sasin1 "N:\Datasets\Parent\parentingprimarycaregiver\U"; libname sasin2 "N:\Datasets\Child\aboutmyparent\U"; libname sasout "N:\Datasets\Parent\parentingprimarycaregiver\S"; *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 ppc; set sasin1.P&yr.&data1.; array orig (7) p&yr.&type1.10-p&yr.&type1.16; array new (7) p&yr.&type1.10r p&yr.&type1.11r p&yr.&type1.12r p&yr.&type1.13r p&yr.&type1.14r p&yr.&type1.15r p&yr.&type1.16r ; do i=1 to 7; new(i)=6-orig(i); end; label p&yr.&type1.10r="Reversed-Like Behavior-Smile" p&yr.&type1.11r="Reversed-Like Behavior-Praise" p&yr.&type1.12r="Reversed-Like Behavior-Physical Affection" p&yr.&type1.13r="Reversed-Like Behavior-Reward" p&yr.&type1.14r="Reversed-Like Behavior-Special Privilege" p&yr.&type1.15r="Reversed-Like Behavior-Do Something Special" p&yr.&type1.16r="Reversed-Like Behavior-Tell Someone" ; run; proc sort;by site tcid; DATA amp; set sasin2.c&yr.&data2.; array o1 (7) c&yr.&type2.10-c&yr.&type2.16; array n1 (7) c&yr.&type2.10r c&yr.&type2.11r c&yr.&type2.12r c&yr.&type2.13r c&yr.&type2.14r c&yr.&type2.15r c&yr.&type2.16r ; do i=1 to 7; n1(i)=6-o1(i); end; label c&yr.&type2.10r="Reversed-Smile or wink" c&yr.&type2.11r="Reversed-Praise" c&yr.&type2.12r="Reversed-Physical affection" c&yr.&type2.13r="Reversed-Reward" c&yr.&type2.14r="Reversed-Give special privilege" c&yr.&type2.15r="Reversed-Do something special" c&yr.&type2.16r="Reversed-Tell someone" ; run; proc sort;by site tcid; Data ppc; Merge ppc (in=in1) amp; by site tcid; if in1; run; %let INDATA = ppc; ************************************************************; %let var_name = PPC&yr.apd ; %let var_labl = %str(Appropriate Discipline- PPC Y&yr.) ; %let var_list = %str(p&yr.&type1.1 p&yr.&type1.2 p&yr.&type1.4) ; %linmean; ************************************************************; %let var_name = PPC&yr.had ; %let var_labl = %str(Harsh Discipline- PPC Y&yr.) ; %let var_list = %str(p&yr.&type1.3 p&yr.&type1.6-p&yr.&type1.8) ; %linmean; ************************************************************; %let var_name = PPC&yr.pat ; %let var_labl = %str(Positive Attention- PPC Y&yr.) ; %let var_list = %str(p&yr.&type1.10-p&yr.&type1.12 p&yr.&type1.16) ; %linmean; ************************************************************; %let var_name = PPC&yr.trw; %let var_labl = %str(Tangible Rewards- PPC Y&yr.) ; %let var_list = %str(p&yr.&type1.13-p&yr.&type1.15) ; %linmean; ************************************************************; %let var_name = PPC&yr.lry; %let var_labl = %str(Low Reinforcement-Youth- PPC Y&yr.) ; %let var_list = %str(c&yr.&type2.10r c&yr.&type2.11r c&yr.&type2.12r c&yr.&type2.13r c&yr.&type2.14r c&yr.&type2.15r c&yr.&type2.16r) ; %linmean; ************************************************************; %let var_name = PPC&yr.lrp; %let var_labl = %str(Low Reinforcement-Parent- PPC Y&yr.) ; %let var_list = %str(p&yr.&type1.9 p&yr.&type1.10r p&yr.&type1.11r p&yr.&type1.12r p&yr.&type1.13r p&yr.&type1.14r p&yr.&type1.15r p&yr.&type1.16r) ; %linmean; ************************************************************; data sasout.PPC&yr.; set ppc; ppc&yr.lrc=sum(ppc&yr.lry, ppc&yr.lrp); if ppc&yr.lry=. then ppc&yr.lrc=.; if ppc&yr.lrp=. then ppc&yr.lrc=.; drop i; label ppc&yr.lrc = "Low Reinforcement-Combined- PPC Y&yr."; run; proc sort;by cohort site tcid;run;