// ACHTUNG: Pfadangabe in Zeile 7 (global outp = "") mit abschließendem // Vorwärts-Schrägstrich (Slash) anpassen! macro drop _all global data = "http://www2.jura.uni-hamburg.de/instkrim/kriminologie/Mitarbeiter/Enzmann/Lehre/StatIKrim/" global outp = "d:/lehre/statistik1/ws1112/" cap log close log using "${outp}RegEff_demo", replace text * ------------------------------------------------------------------------------ // Do-File: RegEff_Demo.do // Aufgabe: Demonstration des Regressionseffekts, vgl. Nachtigall & Suhl (2002) // http://www.metheval.uni-jena.de/materialien/reports/report_2002_02.pdf // Projekt: Statistik 1 für Kriminologen // Autor: Dirk Enzmann \ 12-Jan-2012 // #0 // program setup version 11 clear all set more off set linesize 82 di as res "----------------------------------------------------------" _n /* /// */ `"Arbeitsverzeichnis = "`c(pwd)'" "' _n /* /// */ `" Datenpfad = "${data}" "' _n /* /// */ `" Outputpfad = "${outp}" "' _n /* /// */ "----------------------------------------------------------" * Falls nötig, installiere .ado-Files: cap which scores if _rc ssc install scores * ============================================================================== // #1 // Beispieldatensatz laden: use "${data}regreff.dta" * ------------------------------------------------------------------------------ // #2 // Grafiken und deskriptive Statistiken der Körpergröße der Mütter und Töchter: sum groemu local N = r(N) local mean = r(mean) local meanr : di round(`mean') local sd = r(sd) local sdr : di round(`sd',.01) local min = r(min) local max = r(max) twoway (kdensity groemu, kernel(gaussian) lcolor(red)) /// (function normal=normalden(x,`mean',`sd'), /// range(`min' `max') lcolor(blue)), /// ytitle("Density") xtitle("Körpergröße Mütter") /// legend(on order(1 "Kerndichte" 2 "Normalv.") position(2) /// ring(0) rows(2) size(small) region(lwidth(vthin))) /// note("mean = `meanr', sd = `sdr', n = `N'") /// name("grMuett", replace) sum groesse local N = r(N) local mean = r(mean) local meanr : di round(`mean') local sd = r(sd) local sdr : di round(`sd',.01) local min = r(min) local max = r(max) twoway (kdensity groesse, kernel(gaussian) lcolor(red)) /// (function normal=normalden(x,`mean',`sd'), /// range(`min' `max') lcolor(blue)), /// ytitle("Dichte") xtitle("Körpergröße Töchter") /// legend(on order(1 "Kerndichte" 2 "Normalv.") position(2) /// ring(0) rows(2) size(small) region(lwidth(vthin))) /// note("mean = `meanr', sd = `sdr', n = `N'") /// name("grToecht", replace) * ------------------------------------------------------------------------------ // #3 // Demonstration der Regressionseffekte bei Auswahl von Extremgruppen: scores groemu_z = mean(groemu), sc(z) replace scores groeto_z = mean(groesse), sc(z) replace // Kleine Töchter großer Mütter bzw. große Töchter kleiner Mütter: sum groemu_z groeto_z if groemu_z > 1 sum groemu_z groeto_z if groemu_z < -1 scores gewto_z = mean(gewicht), sc(z) replace // Geringes Gewicht großer Töchter und umgekehrt: sum gewicht gewto_z if groeto_z > 1 sum gewicht gewto_z if groeto_z < -1 // Kleine Mütter großer Töchter und große Mütter kleiner Töchter: sum groemu_z groeto_z if groeto_z > 1 sum groemu_z groeto_z if groeto_z < -1 * ============================================================================== log close exit