
/* Program calculates average crime rates for the regions and municipalities where executives lived as minors */

libname lib100 "W:\Tutkimusprojektit\Kirjanpito\Dokumentaatio\JAR\Datat\";

* Municipality level data at the ages of 0-17;

data demografiset_87;
 set lib100.demografiset_220524;

 KUNTA2 = MUNICIPALITY2*1;

 keep id YEAR KUNTA2 BIRTHYEAR;

run;

data ika;
 set lib100.demografiset_220524;

 keep id BIRTHYEAR;

run;

proc sort nodupkey data = ika;
 by id;
 run;

data demografiset_80_86;
 set lib100.demografiset_71_86_240524;

 if year >= 1980;

 KUNTA2 = MUNICIPALITY2*1;

 keep id YEAR KUNTA2;

run;

proc sort data = demografiset_80_86;
 by id;
run;

data demografiset_80_86_2;
 merge demografiset_80_86 ika;
 by id;

 if Kunta2 = . then delete;

run; 

* Executives in the initial sample;

data tutkimushenkilot;
 set lib100.tutkimushenkilot_id_year_250925;

 mukana = 1;

 keep id mukana;

run;

proc sort nodupkey data = tutkimushenkilot;
 by id;
run;

data demografiset_kaikki;
 set demografiset_87 demografiset_80_86_2;

 AGE = YEAR - BIRTHYEAR;

 if 0 < AGE < 18;
run;

proc sort data = demografiset_kaikki;
 by id year;
run;

data demografiset_tutk_henk;
 merge demografiset_kaikki tutkimushenkilot;
 by id;

 if mukana = 1;

run;

data Rikokset_kunta_vuosi;
 set lib100.rikokset_kunta_vuosi_050624;

 rename Kunta = Kunta2;
run;

proc sort data = Rikokset_kunta_vuosi;
 by kunta2 year;
run;

proc sort data = demografiset_tutk_henk;
 by kunta2 year;
run;

data demografiset_rikos_kunta;
 merge demografiset_tutk_henk Rikokset_kunta_vuosi;
by kunta2 year;

 if id = '' then delete;

run;

proc sort data = demografiset_rikos_kunta;
 by id year;
run;

proc means noprint data = demografiset_rikos_kunta;
 by id;
 var Kaikki_rikokset_vuosi Talous_rikokset_vuosi Muut_rikokset_vuosi;
 output out = Rikokset_lapsuus mean = Kaikki_rikokset_lapsuus Talous_rikokset_lapsuus Muut_rikokset_lapsuus;
run;

* Saves data ;

data lib100.Rikokset_lapsuus_030624;
 set Rikokset_lapsuus;

 drop _type_;
 rename _freq_ = Lapsuusvuosia;
run;


* Region level data;

data demografiset_87;
 set lib100.demografiset_220524;

keep id YEAR MAAKUNTA BIRTHYEAR;

run;

data ika;
 set lib100.demografiset_220524;

keep id BIRTHYEAR;

run;

proc sort nodupkey data = ika;
by id;
run;

data demografiset_80_86;
 set lib100.demografiset_71_86_240524;

if year >= 1980;

keep id YEAR MAAKUNTA;

run;

proc sort data = demografiset_80_86;
by id;
run;

data demografiset_80_86_2;
merge demografiset_80_86 ika;
by id;

if MAAKUNTA = . then delete;

run; 

data tutkimushenkilot;
 set lib100.tutkimushenkilot_id_year_250925;

 mukana = 1;

 keep id mukana;

run;

proc sort nodupkey data = tutkimushenkilot;
 by id;
run;

data demografiset_kaikki;
set demografiset_87 demografiset_80_86_2;

AGE = YEAR - BIRTHYEAR;

if 0 < AGE < 18;
run;

proc sort data = demografiset_kaikki;
by id year;
run;

data demografiset_tutk_henk;
merge demografiset_kaikki tutkimushenkilot;
by id;

if mukana = 1;

run;

data Rikokset_maakunta_vuosi;
set lib100.rikokset_maakunta_vuosi_050624;

run;

proc sort data = Rikokset_maakunta_vuosi;
by maakunta year;
run;

proc sort data = demografiset_tutk_henk;
by maakunta year;
run;

data demografiset_rikos_maakunta;
merge demografiset_tutk_henk Rikokset_maakunta_vuosi;
by maakunta year;

if id = '' then delete;

run;

proc sort data = demografiset_rikos_maakunta;
by id year;
run;

proc means noprint data = demografiset_rikos_maakunta;
by id;
var Kaikki_rikokset_maakunta_vuosi Talous_rikokset_maakunta_vuosi Muut_rikokset_maakunta_vuosi;
output out = Rikokset_lapsuus_maakunta mean = Kaikki_rikokset_lapsuus_maakunta Talous_rikokset_lapsuus_maakunta Muut_rikokset_lapsuus_maakunta;
run;

* Saves data;

data lib100.Rikokset_lapsuus_maakunta_030624;
set Rikokset_lapsuus_maakunta;

drop _type_ _freq_;

run;

* Municipality level data. A person moving at the age of 0-17;

data demografiset_87;
 set lib100.demografiset_220524;

KUNTA2 = MUNICIPALITY2*1;

keep id YEAR KUNTA2 BIRTHYEAR;

run;

data ika;
 set lib100.demografiset_220524;

keep id BIRTHYEAR;

run;

proc sort nodupkey data = ika;
by id;
run;

data demografiset_71_86;
 set lib100.demografiset_71_86_240524;

KUNTA2 = MUNICIPALITY2*1;

keep id YEAR KUNTA2;

run;

data demografiset_syn;
 set lib100.demografiset_skunta_050624;

KUNTA2 = MUNICIPALITY2*1;

keep id KUNTA2;

run;

proc sort data = demografiset_syn;
by id;
run;

data demografiset_syn_2;
merge demografiset_syn ika;

by id;

YEAR = BIRTHYEAR;

run;

proc sort data = demografiset_71_86;
by id;
run;

data demografiset_71_86_2;
merge demografiset_71_86 ika;
by id;

if Kunta2 = . then delete;

run; 

data tutkimushenkilot;
 set lib100.tutkimushenkilot_id_year_250925;

 mukana = 1;

 keep id mukana;

run;

proc sort nodupkey data = tutkimushenkilot;
 by id;
run;

data demografiset_kaikki;
set demografiset_87 demografiset_71_86_2 demografiset_syn_2;

AGE = YEAR - BIRTHYEAR;

if 0 =< AGE < 18;

run;

proc sort nodupkey data = demografiset_kaikki;
by id year;
run;

data demografiset_tutk_henk;
merge demografiset_kaikki tutkimushenkilot;
by id;

if mukana = 1;

run;

data syntymakunta;
set demografiset_tutk_henk;

if age = 0;
run;

proc sort data = syntymakunta;
by kunta2;
run;

data Rikokset_kunta;
set lib100.rikokset_kunta_110624;

rename Kunta = Kunta2;
run;

data syntymakunta_rikos;
merge syntymakunta rikokset_kunta;

by kunta2;

if id = '' then delete;

drop mukana year birthyear age;
rename kunta2 = SKunta Kaikki_rikokset_kunta = Kaikki_rikokset_skunta Talous_rikokset_kunta = Talous_rikokset_skunta Muut_rikokset_kunta = Muut_rikokset_skunta
Kaikki_rikokset_kunta_80 = Kaikki_rikokset_skunta_80 Talous_rikokset_kunta_80 = Talous_rikokset_skunta_80 Muut_rikokset_kunta_80 = Muut_rikokset_skunta_80
Kaikki_rikokset_kunta_90 = Kaikki_rikokset_skunta_90 Talous_rikokset_kunta_90 = Talous_rikokset_skunta_90 Muut_rikokset_kunta_90 = Muut_rikokset_skunta_90
Kaikki_rikokset_kunta_00 = Kaikki_rikokset_skunta_00 Talous_rikokset_kunta_00 = Talous_rikokset_skunta_00 Muut_rikokset_kunta_00 = Muut_rikokset_skunta_00
Kaikki_rikokset_kunta_10 = Kaikki_rikokset_skunta_10 Talous_rikokset_kunta_10 = Talous_rikokset_skunta_10 Muut_rikokset_kunta_10 = Muut_rikokset_skunta_10; 

run;

* Saves data;

data lib100.Syntymakunta_rikos_110624;
set syntymakunta_rikos;
run;

* Executives who have moved during chilhood;

proc sort data = demografiset_tutk_henk;
by id year;
run;

data demografiset_tutk_henk_2;
set demografiset_tutk_henk;

if id ne lag(id) then muutto_lkm = 0;

if id = lag(id) and kunta2 ^= lag(kunta2) then muutto_lkm + 1;

run;

proc means noprint data = demografiset_tutk_henk_2;
by id;
var muutto_lkm;
output out = Muuttojen_lkm max = muuttojen_lkm;
run;

data demografiset_tutk_henk_3;
merge demografiset_tutk_henk_2 muuttojen_lkm;
by id;

if muuttojen_lkm = 1 and muutto_lkm = 1;

run;

proc sort nodupkey data = demografiset_tutk_henk_3;
by id;
run;

proc sort data = demografiset_tutk_henk_3;
by kunta2;
run;

data Rikokset_kunta;
set lib100.rikokset_kunta_110624;

rename Kunta = Kunta2;
run;

data demografiset_tutk_henk_4;
merge demografiset_tutk_henk_3 rikokset_kunta;

by kunta2;

if id = '' then delete;

drop mukana _type_ _freq_ birthyear muutto_lkm muuttojen_lkm;
rename kunta2 = muuttokunta Kaikki_rikokset_kunta = Kaikki_rikokset_mkunta Talous_rikokset_kunta = Talous_rikokset_mkunta Muut_rikokset_kunta = Muut_rikokset_mkunta YEAR = muuttovuosi age = muuttoika
Kaikki_rikokset_kunta_80 = Kaikki_rikokset_mkunta_80 Talous_rikokset_kunta_80 = Talous_rikokset_mkunta_80 Muut_rikokset_kunta_80 = Muut_rikokset_mkunta_80
Kaikki_rikokset_kunta_90 = Kaikki_rikokset_mkunta_90 Talous_rikokset_kunta_90 = Talous_rikokset_mkunta_90 Muut_rikokset_kunta_90 = Muut_rikokset_mkunta_90
Kaikki_rikokset_kunta_00 = Kaikki_rikokset_mkunta_00 Talous_rikokset_kunta_00 = Talous_rikokset_mkunta_00 Muut_rikokset_kunta_00 = Muut_rikokset_mkunta_00
Kaikki_rikokset_kunta_10 = Kaikki_rikokset_mkunta_10 Talous_rikokset_kunta_10 = Talous_rikokset_mkunta_10 Muut_rikokset_kunta_10 = Muut_rikokset_mkunta_10; 

run;

* Saves data;

data lib100.Muuttokunta_rikos_011025;
set demografiset_tutk_henk_4;
run;
