**************************************************************** * PROGRAM: IEE.SAS * * PROGRAMMER: E. Valente (IEE section added by K. Noser) * * DATE: 03/29/94, revised 04/04/96, revised 10/28/96 * * -A. Cunningham * * PURPOSE: Create a SAS dataset containing derived * * variables of the Interview on Emotional * * Experiences (IEE). * * * * MODIFIED: 11/9/01 Patrick Malone to run off aggregated * * datasets. Now scores IEE only, and renames * * scored variables to current conventions. * * * * WARNING: Disable INTID screen for Year 1, INTID incomple* ****************************************************************; **Fill out information in next section for data processed ** **in this run. **; %let source=Child; %let src=c; %let inst=b; %let longname=interviewonemotionalex; %let scoredname=IEE; **Enter high-level path (e.g., l:\datasets) **; %let path=l:\datasets; **Enter year of data collection **; %let yr=1; **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 "d:\work\emotional experience"; ****** DO NOT MODIFY BELOW THIS LINE **************; data original; set SASIN.&src.&yr.&inst; * if &screen ne ''; /* Process Interview on Emotional Experiences */ /* Count Appropriate Reponses for question 1; 4 emotions */ *Coverting odd responses for items 1, 2, 5, 6, 11, 12, 17, 18 to zero**; IF (C&yr.Bex1>2) THEN C&yr.Bex1=.; IF (C&yr.Bex2>2) THEN C&yr.Bex2=.; IF (C&yr.Bex5>2) THEN C&yr.Bex5=.; IF (C&yr.Bex6>2) THEN C&yr.Bex6=.; IF (C&yr.Bex11>2) THEN C&yr.Bex11=.; IF (C&yr.Bex12>2) THEN C&yr.Bex12=.; IF (C&yr.Bex17>2) THEN C&yr.Bex17=.; IF (C&yr.Bex18>2) THEN C&yr.Bex18=.; **Creating standardized Appropriateness Score**; **Need to convert to dichotomous variables for items c&yr.bex1, 5, 11, & 17 first**; if C&yr.Bex1=2 then C&yr.Bex1x = 1; else if C&yr.Bex1=1 then C&yr.Bex1x=0; if C&yr.Bex5=2 then C&yr.Bex5x = 1; else if C&yr.Bex5=1 then C&yr.Bex5x=0; if C&yr.Bex11=2 then C&yr.Bex11x = 1; else if C&yr.Bex11=1 then C&yr.Bex11x=0; if C&yr.Bex17= 2 then C&yr.Bex17x = 1; else if C&yr.Bex17=1 then C&yr.Bex17x=0; proc standard m=0 s=1 OUT=ONE; var C&yr.Bex1x C&yr.Bex5x C&yr.Bex11x C&yr.Bex17x; run; data TWO; set ONE; rename C&yr.Bex1x=C&yr.Bex1z C&yr.Bex5x=C&yr.Bex5z C&yr.Bex11x=C&yr.Bex11z C&yr.Bex17x=C&yr.Bex17z; *drop C&yr.Bex1x C&yr.Bex5x C&yr.Bex11x C&yr.Bex17x; Data three; set two; merge two (in=a) original(in=b); if a and b; by site cohort tcid; IEE&yr.ASCz=mean(of C&yr.Bex1z C&yr.Bex5z C&yr.Bex11z C&yr.Bex17z); label IEE&yr.ASCz= "Appropriateness Score Standardized Y&yr." C&yr.Bex1z= "Emo. Exp. Item 1 Standardized" C&yr.Bex5z= "Emo. Exp. Item 5 Standardized" C&yr.Bex11z= "Emo. Exp. Item 11 Standardized" C&yr.Bex17z= "Emo. Exp. Item 17 Standardized"; **Creating non-standardized Appropriateness Score**; array APPROP{4} C&yr.Bex1 C&yr.Bex5 C&yr.Bex11 C&yr.Bex17; C&yr.BASCR = 0; do i = 1 to 4; if (approp[i] = 2) then C&yr.BASCR +1; end; label C&yr.BASCR = "Appropriateness Score IEE Y&yr."; /* Counters for each of the 10 Response Categories */ array RESPONSE{7} C&yr.Bex3 C&yr.Bex7 C&yr.Bex9 C&yr.Bex13 C&yr.Bex15 C&yr.Bex19 C&yr.Bex21; C&yr.BNRSCR = 0; C&yr.BPASCR = 0; C&yr.BVASCR = 0; C&yr.BAPSCR = 0; C&yr.BADSCR = 0; C&yr.BCASCR = 0; C&yr.BCPSCR = 0; C&yr.BSCSCR = 0; C&yr.BPSSCR = 0; C&yr.BDNSCR = 0; do i = 1 to 7; if (response[i] = 0) then C&yr.BNRSCR + 1; else if (response[i] = 1) then C&yr.BPASCR + 1; else if (response[i] = 2) then C&yr.BVASCR + 1; else if (response[i] = 3) then C&yr.BAPSCR + 1; else if (response[i] = 4) then C&yr.BADSCR + 1; else if (response[i] = 5) then C&yr.BCASCR + 1; else if (response[i] = 6) then C&yr.BCPSCR + 1; else if (response[i] = 7) then C&yr.BSCSCR + 1; else if (response[i] = 8) then C&yr.BPSSCR + 1; else if (response[i] = 9) then C&yr.BDNSCR + 1; end; label C&yr.BNRSCR = "No Response score IEE Y&yr." C&yr.BPASCR = "Physical Agg score IEE Y&yr." C&yr.BVASCR = "Verbal Agg score IEE Y&yr." C&yr.BAPSCR = "Avoidant/Passive score IEE Y&yr." C&yr.BADSCR = "Affective Display score IEE Y&yr." C&yr.BCASCR = "Comm w/Adults score IEE Y&yr." C&yr.BCPSCR = "Comm w/Peers score IEE Y&yr." C&yr.BSCSCR = "Self-Control score IEE Y&yr." C&yr.BPSSCR = "Prosocial score IEE Y&yr." C&yr.BDNSCR = "Do Nothing score IEE Y&yr."; /* Define 3 subscales for IEE - Aggression, Communication, Positive */ C&yr.BAGGSC = mean(C&yr.BPASCR, C&yr.BVASCR); C&yr.BCOMSC = mean(C&yr.BCASCR, C&yr.BCPSCR); C&yr.BPOSSC = mean(C&yr.BSCSCR, C&yr.BPSSCR); label C&yr.BAGGSC = "Aggression Scale IEE Y&yr." C&yr.BCOMSC = "Communication Scale IEE Y&yr." C&yr.BPOSSC = "Positive Response Scale IEE Y&yr."; keep COHORT SITE TCID C&yr.BEX1-C&yr.BEX22 C&yr.Bex1z C&yr.Bex5z C&yr.Bex11z C&yr.Bex17z IEE&yr.ASCz C&yr.BNRSCR C&yr.BPASCR C&yr.BVASCR C&yr.BAPSCR C&yr.BADSCR C&yr.BCASCR C&yr.BCPSCR C&yr.BSCSCR C&yr.BPSSCR C&yr.BDNSCR C&yr.BASCR C&yr.BAGGSC C&yr.BCOMSC C&yr.BPOSSC; rename c&yr.badscr= IEE&yr.ADS c&yr.baggsc= IEE&yr.AGG c&yr.bapscr =IEE&yr.APS c&yr.bascr =IEE&yr.ASC c&yr.bcascr =IEE&yr.CWA c&yr.bcomsc =IEE&yr.COM c&yr.bcpscr= IEE&yr.CWP c&yr.bdnscr = IEE&yr.DNS c&yr.bnrscr =IEE&yr.NRS c&yr.bpascr =IEE&yr.PAG c&yr.bpossc = IEE&yr.PRS c&yr.bpsscr = IEE&yr.PSS c&yr.bscscr= IEE&yr.SCS c&yr.bvascr = IEE&yr.VAG ; run; Data SASOUT.&scoredname.&yr.; set three; keep SITE COHORT TCID C&yr.BEX1-C&yr.BEX22 C&yr.Bex1z C&yr.Bex5z C&yr.Bex11z C&yr.Bex17z IEE&yr.ADS IEE&yr.APS IEE&yr.ASC IEE&yr.ASCz IEE&yr.CWA IEE&yr.CWP IEE&yr.COM IEE&yr.DNS IEE&yr.NRS IEE&yr.PAG IEE&yr.VAG IEE&yr.AGG IEE&yr.PSS IEE&yr.SCS IEE&yr.PRS; RUN; proc contents; run; proc freq; tables C&yr.Bex1 C&yr.Bex2 C&yr.Bex5 C&yr.Bex6 C&yr.Bex11 C&yr.Bex12 C&yr.Bex17 C&yr.Bex18 IEE&yr.ASC IEE&yr.ASCz; where cohort="1"; run;