*********************************************************************************; * *; * Program Name: C:\JRSA\ELD_TIME.SAS *; * *; * SAS Download Code *; * *; * Purpose: Older Adult Victimization Research Question No. 2: *; * *; * 2. For violent person crimes, when is the victimization *; * of a person aged 65 or older in a residential setting *; * most likely to occur? *; * *; *; * *; *********************************************************************************; LIBNAME PERM 'C:\JRSA\DATA\'; OPTIONS LINESIZE=80 FIRSTOBS=1 OBS=MAX NOFMTERR compress=yes; %LET LINESZ = 120; PROC FORMAT; INVALUE OFF '200' = 200 '13A' = 130 '13B' = 171 '13C' = 172 '510' = 510 '220' = 140 '250' = 250 '290' = 290 '35A' = 350 '35B' = 351 '270' = 270 '210' = 210 '26A' = 260 '26B' = 261 '26C' = 262 '26D' = 263 '26E' = 264 '39A' = 390 '39B' = 391 '39C' = 392 '39D' = 393 '09A' = 90 '09B' = 198 '09C' = 199 '100' = 190 '23A' = 160 '23B' = 161 '23C' = 162 '23D' = 163 '23E' = 164 '23F' = 165 '23G' = 166 '23H' = 167 '240' = 150 '370' = 370 '40A' = 400 '40B' = 401 '120' = 120 '11A' = 110 '11B' = 180 '11C' = 181 '11D' = 182 '36A' = 360 '36B' = 361 '280' = 280 '520' = 520 ; VALUE OFFENSE 200 = 'Arson' 130 = 'Aggravated Assault' 171 = 'Simple Assault' 172 = 'Intimidation' 510 = 'Bribery' 140 = 'Burglary/Breaking and Entering' 250 = 'Counterfeiting/Forgery' 290 = 'Destruction/Damage/Vandalism of Property' 350 = 'Drug/Narcotics Violations' 351 = 'Drug Equipment Violations' 270 = 'Embezzlement' 210 = 'Extortion/Blackmail' 260 = 'False Pretenses/Swindle/Confidence Game' 261 = 'Credit Card/Automated Teller Machine Fraud' 262 = 'Impersonation' 263 = 'Welfare Fraud' 264 = 'Wire Fraud' 390 = 'Betting/Wagering' 391 = 'Operating/Promoting/Assisting Gambling' 392 = 'Gambling Equipment Violations' 393 = 'Sports Tampering' 90 = 'Murder and Nonnegligent Manslaughter' 198 = 'Negligent Manslaughter' 199 = 'Justifiable Homicide' 190 = 'Kidnaping/Abduction' 160 = 'Pocket-picking' 161 = 'Purse-snatching' 162 = 'Shoplifting' 163 = 'Theft From Building' 164 = 'Theft From Coin-Operated Machine or Device' 165 = 'Theft From Motor Vehicle' 166 = 'Theft of Motor Vehicle Parts or Accessories' 167 = 'All Other Larceny' 150 = 'Motor Vehicle Theft' 370 = 'Pornography/Obscene Material' 400 = 'Prostitution' 401 = 'Assisting or Promoting Prostitution' 120 = 'Robbery' 110 = 'Forcible Rape' 180 = 'Forcible Sodomy' 181 = 'Sexual Assault With An Object' 182 = 'Forcible Fondling' 183 = 'Rape of a Male' 360 = 'Incest' 361 = 'Statutory Rape' 280 = 'Stolen Property Offenses' 520 = 'Weapon Law Violations' ; RUN; DATA RESIDENTIAL; SET PERM.INCIDENT_LEVEL_FILE; LABEL LOCGROUP = 'Location' AGE65GRP = 'Victim Age Group' QUTRDAY = 'Time Of Day' DAYOFWK = 'Day Of Week' FILTER = 'Selection Criteria'; IF (MSVOFF = 90) THEN INDEX = 1; ELSE IF (MSVOFF = 110) THEN INDEX = 2; ELSE IF (MSVOFF = 120) THEN INDEX = 3; ELSE IF (MSVOFF = 130) THEN INDEX = 4; ELSE IF (MSVOFF = 140) THEN INDEX = 5; ELSE IF (160 LE MSVOFF LE 167) THEN INDEX = 6; ELSE IF (MSVOFF = 150) THEN INDEX = 7; ELSE INDEX = 8; IF (1 LE INDEX LE 4) THEN MSOFFGP = 1; ELSE IF (5 LE INDEX LE 7) THEN MSOFFGP = 2; ELSE IF (INDEX = 8) THEN MSOFFGP = 3; IF (INC_LOC EQ 20) THEN LOCGROUP = 1; ELSE LOCGROUP = 2; IF (VAGE65 EQ 0) THEN AGE65GRP = 2; ELSE IF (1 LE VAGE65 LE 99) THEN AGE65GRP = 1; IF (0 LE INC_HR LE 5) THEN QUTRDAY = 1; ELSE IF (6 LE INC_HR LE 11) THEN QUTRDAY = 2; ELSE IF (12 LE INC_HR LE 17) THEN QUTRDAY = 3; ELSE IF (18 LE INC_HR LE 23) THEN QUTRDAY = 4; DAYOFWK = WEEKDAY(MDY(INC_MO, INC_DY, INC_YR)); IF (age65grp = 1 & locgroup = 1 & msoffgp = 1) THEN FILTER = 1; ELSE FILTER = 0; RUN; PROC FORMAT; VALUE LOCGROUP 1 = 'Home/Residence' 2 = 'Other Location' ; VALUE VAGE 1 = 'Age 65 or Older' 2 = 'Age 64 or Younger' ; VALUE QUTRDAY 1 = 'Midnight to 5 a.m.' 2 = '6 a.m. to 11a.m.' 3 = 'Noon to 5 p.m.' 4 = '6 p.m. to 11 p.m.' . = 'TOTALS:' ; VALUE FILTER 0 = 'Not Selected' 1 = 'Selected' ; VALUE DAYS 1 = 'Sunday' 2 = 'Monday' 3 = 'Tuesday' 4 = 'Wednesday' 5 = 'Thursday' 6 = 'Friday' 7 = 'Saturday' ; RUN; PROC SORT DATA=RESIDENTIAL; BY DAYOFWK; RUN; PROC FREQ DATA=RESIDENTIAL NOPRINT; TABLES QUTRDAY /OUT=FREQ(DROP=PERCENT); BY DAYOFWK; WHERE FILTER = 1; FORMAT DAYOFWK DAYS. QUTRDAY QUTRDAY.; RUN; PROC SORT DATA=FREQ; BY QUTRDAY; RUN; PROC SUMMARY DATA=FREQ NOPRINT; VAR COUNT; BY QUTRDAY; OUTPUT OUT=FREQT(DROP=_TYPE_ _FREQ_) SUM=; RUN; PROC SORT DATA=FREQ; BY QUTRDAY; WHERE (QUTRDAY NE .); RUN; PROC TRANSPOSE DATA=FREQ OUT=TRANSF(DROP=_LABEL_ _NAME_) ; ID DAYOFWK; VAR COUNT; BY QUTRDAY; RUN; PROC SUMMARY DATA=TRANSF NOPRINT; VAR SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY; OUTPUT OUT=FREQCT(DROP=_TYPE_ _FREQ_) SUM=; RUN; DATA TRANSF; MERGE TRANSF(IN=IN1) FREQT(IN=IN2); BY QUTRDAY; IF IN1 & IN2; RUN; DATA _NULL_; SET FREQCT END=EOF; COUNT = SUM(SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY); IF EOF THEN CALL SYMPUT('TOT', LEFT(PUT(COUNT, 4.))); RUN; DATA ALLT; SET ALL; TOT = COUNT / %EVAL(&TOT); RUN; DATA ALL; SET TRANSF(IN=IN1) FREQCT(IN=IN2); IF IN2 THEN COUNT = SUM(SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY); SUN = SUNDAY / %EVAL(&TOT); MON = MONDAY / %EVAL(&TOT); TUE = TUESDAY / %EVAL(&TOT); WED = WEDNESDAY / %EVAL(&TOT); THU = THURSDAY / %EVAL(&TOT); FRI = FRIDAY / %EVAL(&TOT); SAT = SATURDAY / %EVAL(&TOT); TOT = COUNT / %EVAL(&TOT); RUN; ************************************; * Reporting Step *; ************************************; OPTIONS LS=132; PROC PRINT DATA=ALL LABEL NOOBS; TITLE 'Time of Day and Day of Week for Offenses Committed Against Older Adults in Residential Settings'; VAR QUTRDAY SUN MON TUE WED THU FRI SAT TOT; FORMAT QUTRDAY QUTRDAY. TOT SUN MON TUE WED THU FRI SAT PERCENT7.1; LABEL SUN = 'Sunday' MON = 'Monday' TUE = 'Tuesday' WED = 'Wednesday' THU = 'Thursday' FRI = 'Friday' SAT = 'Saturday' TOT = 'Total'; RUN;