****************************************************************************************** ******** 1. Sitzung 28.04.2009 *********************************************************** ****************************************************************************************** * Datentransformation Í ****************************************************************** ** Laden und Speichern ******************************************************************* set memory 50M /* erweitert den Speicher für STATA auf 50MB */ set scrollbufsize 200000 /* verlängert ab dem nächsten Start die Ausgabe */ use "v:\Stata_Leibold\ALLBUS08.dta" * save "C:\XXXXXX\ALLBUS08_Arbeitsversion.dta" /* die Pfadangabe muss noch abgestimmt werden */ ** Datenübersicht ************************************************************************ browse /* startet den DATA BROWSER */ describe /* Auflistung der Variablen */ describe v3 /* Auflistung v3 */ summarize /* Fälle/Mean/Std.Dev/Min/Max */ sum v3 /* summarize nur für v3 */ list /* Aulistung aller Ausprägungen nach Fällen sortiert */ list in 1 /* Auflistung des 1. Falls */ list in 2/4 /* Auflistung der Fälle 2 bis 4 */ codebook v3 /* Häufigkeiten mit Wert und Label */ lookfor Bundestag /* sucht nach Zeichenfolge (hier Bundestag) */ **** Aufgabe 2 **************************************************************************** codebook v1 codebook v800 des lookfor Alter lookfor Geschlecht sum v154 codebook v22-v25 codebook v633 ** Missings setzen und zurücksetzen ****************************************************** tabulate v633 /* Häufigkeiten */ mvdecode v633, mv (99.96=.a) /* Missing setzen */ replace v633 = 99 if v633 == .a /* Missing in Wert zurückgesetzt */ mvdecode v633, mv (99=.a) /* Missing setzen */ mvencode v633 , mv(.a=99) /* Missing zurücksetzen */ ** Missingbereiche *********************************************************************** replace v633= .a if v633 >=80 tabulate v633 , mis /* Häufigkeiten mit Missings anzeigen */ ** FOREACH ******************************************************************************* foreach var01 of varlist v22 v23 v24 v25 { /* Anwendung von Befehlen auf mehrere Variablen */ replace `var01'=.a if `var01' >7 } **** Aufgabe 3 **************************************************************************** foreach var01 of varlist v71-v83 { replace `var01'=.a if `var01' >98 } tab1 v71-v83 ** Neue Variablen erzeugen *************************************************************** generate i_bund = v73 + v79 /* erzeugt einen Summenindex */ tab i_bund /* leider wurden die Missings nicht gesetzt */ drop i_bund /* wirft die Variable weg */ foreach var of varlist v73 v79 { replace `var'=.a if `var'>90 } generate i_bund = v73 + v79 tab i_bund ** Werte zusammenfassen ****************************************************************** recode v633 (min/19 = 1) (19.0001/25=2) (25.0001/80=3), gen(BMI) /* Kategorisierung des BMI */ ** Labels für Variablen und Werte ******************************************************** label variable BMI "BMI-3Kat" /* Label der Variable */ label define BMI_lb 1"mager" 3"dick" /* Label der Werte */ label value BMI BMI_lb /* Label der Werte der der Variable zuweisen */ **** Aufgabe 4 **************************************************************************** foreach var of varlist v76 v77 { replace `var'=.a if `var'>90 } generate i_medien = v76 + v77 /* erzeugt den Summenindex */ generate i_BM = i_bund*i_medien /* erzeugt den Summenindex */ tab i_BM /* Suche nach dem Median */ recode i_BM (min/51=0) (51/max=1) label variable i_bund "Index v73+v79 Vertrauen Bundespol" /* Label der Variable */ label variable i_medien "Index v76+v77 Vertrauen Medien" /* Label der Variable */ label variable i_BM "Index Vertrauen Bundespol*Medien" /* Label der Variable */ label define i_BM_lb 0"gering" 1"hoch" /* Label der Werte */ label value i_BM i_BM_lb /* Label der Werte der der Variable zuweisen */ * ENDE *************************************************************************************