Syntaxen monitor In deze bijlage staan de syntaxen van de rendementsanalyse. Deze syntaxen geven de code weer waarmee in SPSS de gekoppelde gegevens kunnen worden geanalyseerd en de basisgrafieken kunnen worden gemaakt, zoals weergegeven in de kwantitatieve monitor. Inhoud syntax opschonen BVH incidenten bestand.sps *incidentcode selecteren zonder maatschappelijke kwalificatie informatie. STRING incidentcode (A8). COMPUTE incidentcode=char.substr(incidentcodekwal,1,(char.index(incidentcodekwal,' ')-1)). *dit is voor het weghalen van de niet-relevante incidentcodes. If (incidentcode="e62")weg=1. If (incidentcode="e63")weg=1. If (incidentcode="h40")weg=1. If (incidentcode="h50")weg=1. If (incidentcode="h65")weg=1. If (incidentcode="h67")weg=1. If (incidentcode="h90")weg=1. If (incidentcode="i40")weg=1. If (incidentcode="i51")weg=1. If (incidentcode="i53")weg=1. If (incidentcode="i601")weg=1. If (incidentcode="i90")weg=1. If (incidentcode="i901")weg=1. If (incidentcode="i91")weg=1. If (incidentcode="j10")weg=1. If (incidentcode="j11")weg=1. If (incidentcode="j50")weg=1. If (incidentcode="l33")weg=1. If (incidentcode="p41")weg=1. FILTER OFF. USE ALL. SELECT IF (missing(weg)).
Inhoud syntax syntax recidive hks-bvh.sps * leeftijd bij instroom als geboortedatum in het bestand zit, geboortedatum hernoemen en opmaken als 'formats gebdat (DATE11)'. COMPUTE leeftijd=datediff(startdat,gebdat,"years"). * tijd in maanden tussen delictdatum en instroom. COMPUTE tijd=datediff(startdat,ant_dat,"months"). * wanneer minder dan een maand, dan wordt dit op min of plus een halve maand afgerond. if (tijd=0 and startdat < ant_dat)tijd=-0.5. if (tijd=0 and ant_dat < startdat)tijd=0.5. * tijd in maanden tussen uitstromen en delict. tijd2=datediff(uitstroomdatum,ant_dat,"months"). * als delictdatum later dan uitstroomdatum is, dan wordt 'tijd 3' de tijd in maanden (dus alleen tijd zichtbaar als delict na einddatum heeft plaatsgevonden). if (ant_dat >= Uitstroomdatum)tijd3=DATEDIFF(Uitstroomdatum,ANT_DAT,"months"). VARIABLE LABELS tijd 'aantal maanden tussen startdatum vh en delict' / tijd2 'aantal maanden tussen einddatum vh en delict' / tijd3 'aantal maanden tussen einddatum vh en delicten na afsluiting traject vh'. * vaststellen in welke maand na startdatum vh recidive heeft plaatsgevonden. if (tijd >= -1 and tijd < 0)resmaand1nastart=1. if (tijd=-2)resmaand2nastart=1. if (tijd=-3)resmaand3nastart=1. if (tijd=-4)resmaand4nastart=1. if (tijd=-5)resmaand5nastart=1. if (tijd=-6)resmaand6nastart=1. if (tijd=-7)resmaand7nastart=1. if (tijd=-8)resmaand8nastart=1. if (tijd=-9)resmaand9nastart=1. if (tijd=-10)resmaand10nastart=1. if (tijd=-11)resmaand11nastart=1. if (tijd=-12)resmaand12nastart=1. * vaststellen aantal recidive in eerste kwartaal na start vh. reskwart1nastart=sum(resmaand1nastart,resmaand2nastart,resmaand3nastart). reskwart2nastart=sum(resmaand4nastart,resmaand5nastart,resmaand6nastart). reskwart3nastart=sum(resmaand7nastart,resmaand8nastart,resmaand9nastart). reskwart4nastart=sum(resmaand10nastart,resmaand11nastart,resmaand12nastart). *vaststellen aantal recidive in eerste half jaar na start vh. reshalfja1nastart=sum(reskwart1nastart,reskwart2nastart).
reshalfja2nastart=sum(reskwart3nastart,reskwart4nastart). *indicator recidive in eerste jaar na start vh. if (tijd lt 0 and tijd gt -13)resjaar1nastart=1. *indicator recidive in tweede jaar na start vh. if (tijd lt -12 and tijd gt -25)resjaar2nastart=1. *indicator recidive na tweede jaar na start vh. if (tijd lt -24)res3_4_5jaarnastart=1. *vaststellen in welke maand voor de start van vh delict heeft plaatsgevonden. if (tijd >=0 and tijd <=1)resmaand1vostart=1. if (tijd=2)resmaand2vostart=1. if (tijd=3)resmaand3vostart=1. if (tijd=4)resmaand4vostart=1. if (tijd=5)resmaand5vostart=1. if (tijd=6)resmaand6vostart=1. if (tijd=7)resmaand7vostart=1. if (tijd=8)resmaand8vostart=1. if (tijd=9)resmaand9vostart=1. if (tijd=10)resmaand10vostart=1. if (tijd=11)resmaand11vostart=1. if (tijd=12)resmaand12vostart=1. * vaststellen aantal recidive in eerste, tweede, derde en vierde kwartaal voor start vh. reskwart1vostart=sum(resmaand1vostart,resmaand2vostart,resmaand3vostart). reskwart2vostart=sum(resmaand4vostart,resmaand5vostart,resmaand6vostart). reskwart3vostart=sum(resmaand7vostart,resmaand8vostart,resmaand9vostart). reskwart4vostart=sum(resmaand10vostart,resmaand11vostart,resmaand12vostart). *vaststellen aantal recidive in eerste en tweede half jaar voor start vh. reshalfja1vostart=sum(reskwart1vostart,reskwart2vostart). reshalfja2vostart=sum(reskwart3vostart,reskwart4vostart). *indicator recidive in eerste jaar voor start vh. if (tijd ge 0 and tijd lt 13)resjaar1vostart=1. *indicator recidive in tweede jaar voor start vh. if (tijd gt 12 and tijd lt 25)resjaar2vostart=1. *indicator recidive eerder dan twee jaar voor start vh. if (tijd gt 24 and tijd lt 61)res3_4_5jaarvostart=1. * aantal dagen delict voor start vh. voor2=datediff(startdat,ant_dat,"days"). * als aantal dagen groter is dan 0, dan wordt 'voor' weergegeven als fractie per maand. Do if (voor2 gt 0). voor=voor2/(365.25/12). End if.
* als aantal dagen kleiner is dan 0, dan wordt 'na' weergegeven als fractie per maand. Do if (voor2 lt 0). na=-voor2/(365.25/12). end if. * als delict gelijk met of na uitstroomdatum gebeurt, dan wordt na2 het aantal dagen dat het delict na uitstroom vh plaatsvindt. if (ant_dat >= Uitstroomdatum)na2=DATEDIFF(Uitstroomdatum,ANT_DAT,"days"). * aantal dagen dat delict na uitstroom plaatsvindt als fractie van een maand (alleen voor personen met delict na uitstroom vh). nazorg=-na2/(365.25/12). * indicator of delict na uitstroom vh heeft plaatsgevonden, rest missing. RECODE nazorg (0 thru Highest=1) INTO nazorg1. * indicator of delict voor instroom vh heeft plaatsgevonden, rest missing. RECODE voor (0 thru Highest=1) INTO voor1. * indicator of delict na instroom vh heeft plaatsgevonden, rest missing. RECODE na (0 thru Highest=1) INTO na1. * aggregeren (som) per basnummer voorafgaand om één regel per persoon over te houden. AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK=basNUMMER /resmaand1nastart_sum=sum(resmaand1nastart) /resmaand2nastart_sum=sum(resmaand2nastart) /resmaand3nastart_sum=sum(resmaand3nastart) /resmaand4nastart_sum=sum(resmaand4nastart) /resmaand5nastart_sum=sum(resmaand5nastart) /resmaand6nastart_sum=sum(resmaand6nastart) /resmaand7nastart_sum=sum(resmaand7nastart) /resmaand8nastart_sum=sum(resmaand8nastart) /resmaand9nastart_sum=sum(resmaand9nastart) /resmaand10nastart_sum=sum(resmaand10nastart) /resmaand11nastart_sum=sum(resmaand11nastart) /resmaand12nastart_sum=sum(resmaand12nastart) /reskwart1nastart_sum=sum(reskwart1nastart) /reskwart2nastart_sum=sum(reskwart2nastart) /reskwart3nastart_sum=sum(reskwart3nastart) /reskwart4nastart_sum=sum(reskwart4nastart) /reshalfja1nastart_sum=sum(reshalfja1nastart) /reshalfja2nastart_sum=sum(reshalfja2nastart) /resjaar1nastart_sum=sum(resjaar1nastart) /resjaar2nastart_sum=sum(resjaar2nastart) /res3_4_5jaarnastart_sum=sum(res3_4_5jaarnastart) /resmaand1vostart_sum=sum(resmaand1vostart) /resmaand2vostart_sum=sum(resmaand2vostart) /resmaand3vostart_sum=sum(resmaand3vostart) /resmaand4vostart_sum=sum(resmaand4vostart) /resmaand5vostart_sum=sum(resmaand5vostart) /resmaand6vostart_sum=sum(resmaand6vostart)
/resmaand7vostart_sum=sum(resmaand7vostart) /resmaand8vostart_sum=sum(resmaand8vostart) /resmaand9vostart_sum=sum(resmaand9vostart) /resmaand10vostart_sum=sum(resmaand10vostart) /resmaand11vostart_sum=sum(resmaand11vostart) /resmaand12vostart_sum=sum(resmaand12vostart) /reskwart1vostart_sum=sum(reskwart1vostart) /reskwart2vostart_sum=sum(reskwart2vostart) /reskwart3vostart_sum=sum(reskwart3vostart) /reskwart4vostart_sum=sum(reskwart4vostart) /reshalfja1vostart_sum=sum(reshalfja1vostart) /reshalfja2vostart_sum=sum(reshalfja2vostart) /resjaar1vostart_sum=sum(resjaar1vostart) /resjaar2vostart_sum=sum(resjaar2vostart) /res3_4_5jaarvostart_sum=sum(res3_4_5jaarvostart) /voor1_sum=sum(voor1) /na1_sum=sum(na1). *Als er delicten na uitstroomdatum hebben plaatsgevonden, dan onderstaande regel ook nog meenemen in bovenstaande aggregate. * /nazorg1_sum=sum(nazorg1). * als geobserveerde waarde voor voor1_sum aanwezig is dan wordt een eventuele missing voor na1_sum gehercodeerd naar 0. DO IF (not missing(voor1_sum)). RECODE na1_sum (MISSING=0). END IF. * als geobserveerde waarde voor na1_sum aanwezig is dan wordt een eventuele missing voor voor1_sum gehercodeerd naar 0. DO IF (not missing(na1_sum)). RECODE voor1_sum (MISSING=0). END IF. * als geobserveerde waarde voor voor1_sum aanwezig is dan wordt een eventuele missing voor nazorg1_sum gehercodeerd naar 0. DO IF (not missing(voor1_sum)). RECODE nazorg1_sum (MISSING=0). END IF. * als tijd niet mist, dan worden alle missings omgezet naar 0. DO IF (not missing(tijd)). RECODE resmaand1nastart resmaand2nastart resmaand3nastart resmaand4nastart resmaand5nastart resmaand6nastart resmaand7nastart resmaand8nastart resmaand9nastart resmaand10nastart resmaand11nastart resmaand12nastart reskwart1nastart reskwart2nastart reskwart3nastart reskwart4nastart reshalfja1nastart reshalfja2nastart resjaar1nastart resjaar2nastart res3_4_5jaarnastart resmaand1vostart resmaand2vostart resmaand3vostart resmaand4vostart resmaand5vostart resmaand6vostart resmaand7vostart resmaand8vostart resmaand9vostart resmaand10vostart resmaand11vostart resmaand12vostart reskwart1vostart reskwart2vostart reskwart3vostart reskwart4vostart reshalfja1vostart reshalfja2vostart resjaar1vostart
resjaar2vostart res3_4_5jaarvostart resmaand1nastart_sum resmaand2nastart_sum resmaand3nastart_sum resmaand4nastart_sum resmaand5nastart_sum resmaand6nastart_sum resmaand7nastart_sum resmaand8nastart_sum resmaand9nastart_sum resmaand10nastart_sum resmaand11nastart_sum resmaand12nastart_sum reskwart1nastart_sum reskwart2nastart_sum reskwart3nastart_sum reskwart4nastart_sum reshalfja1nastart_sum reshalfja2nastart_sum resjaar1nastart_sum resjaar2nastart_sum res3_4_5jaarnastart_sum resmaand1vostart_sum resmaand2vostart_sum resmaand3vostart_sum resmaand4vostart_sum resmaand5vostart_sum resmaand6vostart_sum resmaand7vostart_sum resmaand8vostart_sum resmaand9vostart_sum resmaand10vostart_sum resmaand11vostart_sum resmaand12vostart_sum reskwart1vostart_sum reskwart2vostart_sum reskwart3vostart_sum reskwart4vostart_sum reshalfja1vostart_sum reshalfja2vostart_sum resjaar1vostart_sum resjaar2vostart_sum res3_4_5jaarvostart_sum (MISSING=0). END IF. * sorteren op basnummer en delictdatum, dit om de eerste regel van elke persoon, de regel met het eerste delict te maken. SORT CASES BY basnummer(a) ANT_DAT(A). SAVE OUTFILE='...pad...\tussen file delicten hks-bvh.sav' /COMPRESSED. * unieke basnummers (personen) over houden door middel van aanmaken variabele meld. meld=1. if ( basnummer=lag( basnummer))meld=lag(meld)+1. * wegselecteren van alle dubbele basnummers (personen). FILTER OFF. USE ALL. SELECT IF (meld = 1). SAVE OUTFILE='...pad...\definitieve bestand recidive hks-bvh één regel per persoon.sav' /COMPRESSED. Inhoud syntax lijnen en tabellen.sps *Eerst leeftijd hercoderen naar leefcat om de tabellen overzichtelijk te houden. RECODE leeftijd (Lowest thru 11=1) (12 thru 17=2) (18 thru 23=3) (24 thru 35=4) (36 thru 45=5) (46 thru 55=6) (56 thru 65=7) (66 thru Highest=8) INTO leefcat. value labels leefcat 1 '0 t/m 11 jaar' 2 '12 t/m 17 jaar'
3 '18 t/m 23 jaar' 4 '24 t/m 35 jaar' 5 '36 t/m 45 jaar' 6 '46 t/m 55 jaar' 7 '56 t/m 65 jaar' 8 '66 jaar en ouder'. *lijnen maand recidive bvh en hks per leeftijdscategorie'. GRAPH /LINE(MULTIPLE)=MEAN(bvh_resmaand12vostart_sum) MEAN(bvh_resmaand11vostart_sum) MEAN(bvh_resmaand10vostart_sum) MEAN(bvh_resmaand9vostart_sum) MEAN(bvh_resmaand8vostart_sum) MEAN(bvh_resmaand7vostart_sum) MEAN(bvh_resmaand6vostart_sum) MEAN(bvh_resmaand5vostart_sum) MEAN(bvh_resmaand4vostart_sum) MEAN(bvh_resmaand3vostart_sum) MEAN(bvh_resmaand2vostart_sum) MEAN(bvh_resmaand1vostart_sum) MEAN(bvh_resmaand1nastart_sum) MEAN(bvh_resmaand2nastart_sum) MEAN(bvh_resmaand3nastart_sum) MEAN(bvh_resmaand4nastart_sum) MEAN(bvh_resmaand5nastart_sum) MEAN(bvh_resmaand6nastart_sum) MEAN(bvh_resmaand7nastart_sum) MEAN(bvh_resmaand8nastart_sum) MEAN(bvh_resmaand9nastart_sum) MEAN(bvh_resmaand10nastart_sum) MEAN(bvh_resmaand11nastart_sum) MEAN(bvh_resmaand12nastart_sum) BY leefcat /MISSING=LISTWISE. GRAPH /LINE(MULTIPLE)=MEAN(resmaand12vostart_sum) MEAN(resmaand11vostart_sum) MEAN(resmaand10vostart_sum) MEAN(resmaand9vostart_sum) MEAN(resmaand8vostart_sum) MEAN(resmaand7vostart_sum) MEAN(resmaand6vostart_sum) MEAN(resmaand5vostart_sum) MEAN(resmaand4vostart_sum) MEAN(resmaand3vostart_sum) MEAN(resmaand2vostart_sum) MEAN(resmaand1vostart_sum) MEAN(resmaand1nastart_sum) MEAN(resmaand2nastart_sum) MEAN(resmaand3nastart_sum) MEAN(resmaand4nastart_sum) MEAN(resmaand5nastart_sum) MEAN(resmaand6nastart_sum) MEAN(resmaand7nastart_sum) MEAN(resmaand8nastart_sum) MEAN(resmaand9nastart_sum) MEAN(resmaand10nastart_sum) MEAN(resmaand11nastart_sum) MEAN(resmaand12nastart_sum) BY leefcat /MISSING=LISTWISE. *Custom tables hks totaal + totaal recidive hks voor en na naar leefcat. CTABLES /VLABELS VARIABLES=leefcat SOM_FEIT voor1_sum na1_sum DISPLAY=DEFAULT /TABLE leefcat [C] BY SOM_FEIT [MEAN, VALIDN F40.0] + voor1_sum [MEAN, VALIDN F40.0] + na1_sum [MEAN, VALIDN F40.0] /CATEGORIES VARIABLES=leefcat ORDER=A KEY=VALUE EMPTY=INCLUDE TOTAL=YES POSITION=AFTER. * Custom Tables hks totaal + totaal recidive hks voor en na naar leefcat per soortgroep waarbij soortgroep nog wel gedefinieerd moet worden naar aanleiding van de gewenste indeling. SORT CASES BY soortgroep. SPLIT FILE SEPARATE BY soortgroep. CTABLES /VLABELS VARIABLES=leefcat SOM_FEIT voor1_sum na1_sum DISPLAY=DEFAULT /TABLE leefcat [C] BY SOM_FEIT [MEAN, VALIDN F40.0] + voor1_sum [MEAN, VALIDN F40.0] + na1_sum [MEAN, VALIDN F40.0] /CATEGORIES VARIABLES=leefcat ORDER=A KEY=VALUE EMPTY=INCLUDE TOTAL=YES POSITION=AFTER.
*Custom tables bvh recidive voor en na naar leefcat per soortgroep waarbij soortgroep nog wel gedefinieerd moet worden naar aanleiding van de gewenste indeling. CTABLES /VLABELS VARIABLES=leefcat bvh_voor1_sum bvh_na1_sum DISPLAY=LABEL /TABLE leefcat [C] BY bvh_voor1_sum [MEAN, VALIDN F40.0] + bvh_na1_sum [MEAN, VALIDN F40.0] /CATEGORIES VARIABLES=leefcat ORDER=A KEY=VALUE EMPTY=INCLUDE TOTAL=YES POSITION=AFTER. *t-toets voor de verschillen tussen hks en bvh recidive 1 maand voor en 1 maand na start 1 kwartaal voor start en 1 kwartaal na start 1 half jaar voor start en 1 kwartaal na start 1 jaar voor start en 1 jaar na start 2 jaar voor start en 2 jaar na start 3 t/m 5 jaar voor start en 3 t/m 5 jaar na start. T-TEST PAIRS=resmaand1vostart_sum bvh_resmaand1vostart_sum reskwart1vostart_sum bvh_reskwart1vostart_sum reshalfja1vostart_sum bvh_reshalfja1vostart_sum resjaar1vostart_sum bvh_resjaar1vostart_sum resjaar2vostart_sum bvh_resjaar2vostart_sum res3_4_5jaarvostart_sum bvh_res3_4_5jaarvostart_sum WITH resmaand1nastart_sum bvh_resmaand1nastart_sum reskwart1nastart_sum bvh_reskwart1nastart_sum reshalfja1nastart_sum bvh_reshalfja1nastart_sum resjaar1nastart_sum bvh_resjaar1nastart_sum resjaar2nastart_sum bvh_resjaar2nastart_sum res3_4_5jaarnastart_sum bvh_res3_4_5jaarnastart_sum (PAIRED) /CRITERIA=CI(.9500) /MISSING=ANALYSIS.