**************************************************************** * PROGRAM: HIC.SAS * * PROGRAMMER: R. Laird (modification of E. Valente) * * DATE: 10/3/96, revised 10/28/96-A. Cunningham * * * * PURPOSE: Create a SAS dataset containing derived * * variables of the (1) Home Interview With Child * * (HIWC) * * * * MODIFIED: 11/9/01 Patrick Malone to run off aggregated * * datasets. Now scores HIC only, and renames * * scored variables to current conventions. * ****************************************************************; **Fill out information in next section for data processed ** **in this run. **; %let source=Child; %let src=c; %let inst=b; %let longname=HomeInterviewwithchild; %let scoredname=HIC; **Enter high-level path (e.g., l:\datasets) **; %let path=d:datasets; **Enter year of data collection **; %let yr=4; **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 **************; data SASOUT.&scoredname.&yr.; set SASIN.&src.&yr.&inst; if &screen ne ''; ** Process HIWC data **; /* Create HIWC Attribution and Action scores */ array ATTRIBUT {8} C&yr.BHI1 C&yr.BHI3 C&yr.BHI5 C&yr.BHI7 C&yr.BHI9 C&yr.BHI11 C&yr.BHI13 C&yr.BHI15; array ACTIONS {8} C&yr.BHI2 C&yr.BHI4 C&yr.BHI6 C&yr.BHI8 C&yr.BHI10 C&yr.BHI12 C&yr.BHI14 C&yr.BHI16; /* Count Hostile and Nonhostile Attributions, nonresponses */ C&yr.BHAT = 0; C&yr.BNHAT = 0; C&yr.BDKAT = 0; C&yr.BMATT = 0; do I = 1 to 8; if ATTRIBUT{I} = 2 then C&yr.BHAT +1; else if ATTRIBUT{I} = 1 then C&yr.BNHAT +1; else if ATTRIBUT{I} = 3 then C&yr.BDKAT +1; else C&yr.BMATT +1; end; C&yr.BHPCT= C&yr.BHAT/(C&yr.BHAT+C&yr.BNHAT+C&yr.BDKAT); label C&yr.BHAT = "# of Hostile attribs HIWC Y&yr." C&yr.BNHAT = "# of Nonhostile attribs HIWC Y&yr." C&yr.BDKAT = "# of Don't Know attribs HIWC Y&yr." C&yr.BMATT = "# of Miss attrib resps HIWC Y&yr." C&yr.BHPCT = "Pct Hostile attribs HIWC Y&yr."; /* Count Response Action types, nonresponses */ C&yr.BDKAC = 0; C&yr.BNAC = 0; C&yr.BASAC = 0; C&yr.BCMAC = 0; C&yr.BPNAC = 0; C&yr.BRTAC = 0; C&yr.BMSAC = 0; do I = 1 to 8; if ACTIONS{I} = 0 then C&yr.BDKAC +1; else if ACTIONS{I} = 1 then C&yr.BNAC +1; else if ACTIONS{I} = 2 then C&yr.BASAC +1; else if ACTIONS{I} = 3 then C&yr.BCMAC +1; else if ACTIONS{I} = 4 then C&yr.BPNAC +1; else if ACTIONS{I} = 5 then C&yr.BRTAC +1; else C&yr.BMSAC +1; end; C&yr.BAPCT = (C&yr.BRTAC + C&yr.BPNAC)/ (C&yr.BRTAC + C&yr.BPNAC + C&yr.BDKAC + C&yr.BNAC + C&yr.BASAC + C&yr.BCMAC); if C&yr.BMSAC = 0 then C&yr.BAS = sum(C&yr.BHI2, C&yr.BHI4, C&yr.BHI6, C&yr.BHI8, C&yr.BHI10,C&yr.BHI12,C&yr.BHI14,C&yr.BHI16); else C&yr.BAS = .; label C&yr.BDKAC = "# of Don't Know actions HIWC Y&yr." C&yr.BNAC = "# of Do Nothing actions HIWC Y&yr." C&yr.BASAC = "# of Ask Why actions HIWC Y&yr." C&yr.BCMAC = "# of Command actions HIWC Y&yr." C&yr.BPNAC = "# of Punish actions HIWC Y&yr." C&yr.BRTAC = "# of Retaliate actions HIWC Y&yr." C&yr.BMSAC = "# of Missing action resps HIWC Y&yr." C&yr.BAPCT = "Pct Ret and Pun actions HIWC Y&yr." C&yr.BAS = "Ret and Pun actions score HIWC Y&yr."; keep COHORT SITE TCID C&yr.BHI1-C&yr.BHI16 C&yr.BHAT C&yr.BNHAT C&yr.BDKAT C&yr.BMATT C&yr.BHPCT C&yr.BDKAC C&yr.BNAC C&yr.BASAC C&yr.BCMAC C&yr.BPNAC C&yr.BRTAC C&yr.BMSAC C&yr.BAPCT C&yr.BAS; rename c&yr.bapct=HIC&yr.PRP c&yr.basac=HIC&yr.NWA c&yr.bcmac=HIC&yr.NCA c&yr.bdkac=HIC&yr.NKC c&yr.bdkat=HIC&yr.NKT c&yr.bhat =HIC&yr.NHA c&yr.bhpct=HIC&yr.PHA c&yr.bmatt=HIC&yr.NMC c&yr.bmsac=HIC&yr.NMT c&yr.bnac =HIC&yr.NAC c&yr.bnhat=HIC&yr.NAT c&yr.bpnac=HIC&yr.NPA c&yr.brtac=HIC&yr.NRA c&yr.bas = HIC&yr.RPS ; run;