**************************************************************** * * * PROGRAM: PCT.SAS * * * * PROGRAMMER: Unknown (original not commented) * * * * PURPOSE: Create a SAS dataset containing derived * * variables of the PCIT Observer Impressions * * * * MODIFIED: 11/27/01 Patrick Malone to run off aggregated * * datasets and rename to scored variable conventions* ****************************************************************; **Fill out information in next section for data processed ** **in this run. **; %let source=Observer; %let src=o; %let inst=m; %let longname=PCITobserverimpressions; %let scoredname=PCT; **Enter high-level path (e.g., l:\datasets) **; %let path=d:; **Enter year of data collection **; %let yr=6; **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"; libname addendum "&path.\&source.\coderimpressionsinventoryadd\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 ''; totmiss=nmiss(o&yr.mdd1,o&yr.mdd2,o&yr.mdd3,o&yr.mdd4,o&yr.mdd5,o&yr.mdd6,o&yr.mdd7, o&yr.mdd8,o&yr.mdd9,o&yr.mdd10,o&yr.mdd11,o&yr.mdd12,o&yr.mdd13,o&yr.mdd14,o&yr.mdd15,o&yr.mdd16, o&yr.mdd17,o&yr.mdd18,o&yr.mps19,o&yr.mps20,o&yr.mps21,o&yr.mps22,o&yr.mps23,o&yr.mps24,o&yr.mps25, o&yr.mps26,o&yr.mps27,o&yr.mps28,o&yr.mps29,o&yr.mps30,o&yr.mps31,o&yr.mps32,o&yr.mps33,o&yr.mps34, o&yr.mps35,o&yr.mps36,o&yr.mps37,o&yr.mpa38,o&yr.mpa39,o&yr.mpa40,o&yr.mpa41,o&yr.mpa42, o&yr.mpa43,o&yr.mpa44,o&yr.mpa45,o&yr.mpa46,o&yr.mpa47,o&yr.mpa48,o&yr.mpa49,o&yr.mpa50, o&yr.mpa51,o&yr.mpa52,o&yr.mpa53,o&yr.mpa54,o&yr.mpa55,o&yr.mpa56,o&yr.mpa57,o&yr.mpa58); if totmiss eq 58 then delete; o&yr.mdd12r=2-o&yr.mdd12; o&yr.mps30r=2-o&yr.mps30; o&yr.mpa49r=2-o&yr.mpa49; label o&yr.mdd12r='Reversed - DDT: Parent Interrupting'; label o&yr.mps30r='Reversed - PST: Parent Interrupting'; label o&yr.mpa49r='Reversed - PPT: Parent Interrupting'; missppc= nmiss(o&yr.mdd1,o&yr.mdd3,o&yr.mdd4,o&yr.mdd15,o&yr.mps19,o&yr.mps21,o&yr.mps22,o&yr.mps33, o&yr.mpa38,o&yr.mpa40,o&yr.mpa41,o&yr.mpa52); misspnb= nmiss(o&yr.mdd2,o&yr.mdd16,o&yr.mps20,o&yr.mps34,o&yr.mpa39,o&yr.mpa53); misspst= nmiss(o&yr.mdd11,o&yr.mdd12r,o&yr.mps29,o&yr.mps30r,o&yr.mpa48,o&yr.mpa49r); missppp= nmiss(o&yr.mdd6,o&yr.mps24,o&yr.mpa43); misspnp= nmiss(o&yr.mdd5,o&yr.mps23,o&yr.mpa42); o&yr.mppc= mean(o&yr.mdd1,o&yr.mdd3,o&yr.mdd4,o&yr.mdd15,o&yr.mps19,o&yr.mps21,o&yr.mps22,o&yr.mps33, o&yr.mpa38,o&yr.mpa40,o&yr.mpa41,o&yr.mpa52); label o&yr.mppc='Parent - Positive Communication'; if missppc ge 6 then o&yr.mppc=.; o&yr.mpnb= mean(o&yr.mdd2,o&yr.mdd16,o&yr.mps20,o&yr.mps34,o&yr.mpa39,o&yr.mpa53); label o&yr.mpnb='Parent - Negative Behavior'; if misspnb ge 3 then o&yr.mpnb=.; o&yr.mpst= mean(o&yr.mdd11,o&yr.mdd12r,o&yr.mps29,o&yr.mps30r,o&yr.mpa48,o&yr.mpa49r); label o&yr.mpst='Parent - Staying on Task-Not Interrupting'; if misspst ge 3 then o&yr.mpst=.; o&yr.mppp= mean(o&yr.mdd6,o&yr.mps24,o&yr.mpa43); label o&yr.mppp='Parent - Positive Physical Contact'; if missppp ge 2 then o&yr.mppp=.; o&yr.mpnp= mean(o&yr.mdd5,o&yr.mps23,o&yr.mpa42); label o&yr.mpnp='Parent - Negative Physical Contact'; if misspnp ge 2 then o&yr.mpnp=.; misscnb= nmiss(o&yr.mdd7,o&yr.mdd18,o&yr.mps25,o&yr.mps36,o&yr.mpa44,o&yr.mpa55); misscst= nmiss(o&yr.mdd13,o&yr.mdd17,o&yr.mps31,o&yr.mps35,o&yr.mpa50,o&yr.mpa54); misscpp= nmiss(o&yr.mdd10,o&yr.mps28,o&yr.mpa47); misscnp= nmiss(o&yr.mdd9,o&yr.mps27,o&yr.mpa46); misscin= nmiss(o&yr.mdd14,o&yr.mps32,o&yr.mpa51); misscae= nmiss(o&yr.mdd8,o&yr.mps26,o&yr.mpa45); o&yr.mcnb= mean(o&yr.mdd7,o&yr.mdd18,o&yr.mps25,o&yr.mps36,o&yr.mpa44,o&yr.mpa55); label o&yr.mcnb='Child - Negative Behavior'; if misscnb ge 3 then o&yr.mcnb=.; o&yr.mcst= mean(o&yr.mdd13,o&yr.mdd17,o&yr.mps31,o&yr.mps35,o&yr.mpa50,o&yr.mpa54); label o&yr.mcst='Child - Staying on Task-Positive Involvement'; if misscst ge 3 then o&yr.mcst=.; o&yr.mcpp= mean(o&yr.mdd10,o&yr.mps28,o&yr.mpa47); label o&yr.mcpp='Child - Positive Physical Contact'; if misscpp ge 2 then o&yr.mcpp=.; o&yr.mcnp= mean(o&yr.mdd9,o&yr.mps27,o&yr.mpa46); label o&yr.mcnp='Child - Negative Physical Contact'; if misscnp ge 2 then o&yr.mcnp=.; o&yr.mcin= mean(o&yr.mdd14,o&yr.mps32,o&yr.mpa51); label o&yr.mcin='Child - Interrupting'; if misscin ge 2 then o&yr.mcin=.; o&yr.mcae= mean(o&yr.mdd8,o&yr.mps26,o&yr.mpa45); label o&yr.mcae='Child - Appropriate Emotional Expression'; if misscae ge 2 then o&yr.mcae=.; keep cohort site tcid o&yr.mdd1--o&yr.mdd18 o&yr.mps19-o&yr.mps37 o&yr.mpa38-o&yr.mpa58 o&yr.mdd12r o&yr.mps30r o&yr.mpa49r o&yr.mppc o&yr.mpnb o&yr.mpst o&yr.mppp o&yr.mpnp o&yr.mcnb o&yr.mcst o&yr.mcpp o&yr.mcnp o&yr.mcin o&yr.mcae; rename o&yr.mppc=pct&yr.ppc o&yr.mpnb=pct&yr.pnb o&yr.mpst=pct&yr.pst o&yr.mppp=pct&yr.ppp o&yr.mpnp=pct&yr.pnp o&yr.mcnb=pct&yr.cnb o&yr.mcst=pct&yr.cst o&yr.mcpp=pct&yr.cpp o&yr.mcnp=pct&yr.cnp o&yr.mcin=pct&yr.cin o&yr.mcae=pct&yr.cae; run;