* Name: Hot_deck.sav *. * Source: Schendera (2007). Datenqualität mit SPSS. München: Oldenbourg.*. * Alle Rechte vorbehalten.*. *** Hot deck ****. * (1) Datenzugriff. get file='C:\Employee data.sav'. * create some missing values. if range(id,1,40) gehalt=0. exe. rename variables (id, ausbild, gehalt = respnr, stratum, x). match files file=* /keep=respnr, stratum, x. descriptives var=x. * (2) Datenmanagement (v.a. für Rekonstruktion der ursprünglichen Sequenz). recode x (missing=1)(else=0) into xnew. exe. recode x (missing=1)(else=0) into xmis. exe. compute seqnbeg=$casenum. exe. sort cases by stratum, xmis,seqnbeg. exe. compute #strat=lag(stratum). exe. if ($casenum=1 or #strat ne stratum) seqnstr=1. exe. compute #volg=lag(seqnstr). exe. do if (missing(seqnstr)). + compute seqnstr=#volg+1. end if. exe. formats seqnbeg, seqnstr(f7.0). exe. * (3) Zählen der validen Kodes für X innerhalb eines jeden Stratum. aggregate outfile='$hot.sav' /presorted /break=stratum /stratn=n(stratum) /stratm=nmiss(x). match files table='$hot.sav' /file=* /by stratum /keep=respnr, stratum, x, seqnbeg, seqnstr, xnew, xmis, stratn, stratm. * (4) Falls Missing, dann Abfolgenummern ab Stratum. if (xmis=1) seqnstr=trunc(1+uniform(stratn-stratm)). * (5) Sortieren der Abfolgenummern. sort cases by stratum,seqnstr,xnew. do if (xnew=0). + compute xnew=x. else if (seqnstr=lag(seqnstr) and stratum=lag(stratum)). + compute xnew=lag(xnew). else. + compute xnew=$sysmis. end if. exe. * (6) Einsetzen der Ergebnisse in die Originalabfolge. sort cases by seqnbeg. compute x=xnew. exe. descriptives var=x. save outfile='hotresult.sav' /keep=respnr, stratum, x. list. DATA LIST LIST (",") / NUM1 NUM2 NUM3 NUM4 . begin data 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, , 0, 0, 1, , 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, end data. exe. reliability /variables=NUM1 NUM2 NUM3 NUM4 /scale('NUM1 bis NUM4') all /model=ALPHA. compute VORHER=NUM4. exe. do if (sysmis(VORHER)). compute ERSATZ=rnd(mean(NUM1 to NUM4)). compute NUM4=ERSATZ. end if. exe. compute SKALA1=sum(NUM1,NUM2,NUM3,NUM4). exe. compute SKALA2=sum(NUM1,NUM2,NUM3,VORHER). exe. list.