* Encoding: UTF-8. *Syntax k prvnímu semináři. *Jsou dívky více monitorovány svými rodiči než kluci?. ************************************************. * Krok 1 - Screening a čištění dat. **************************************************. FREQUENCIES VARIABLES=POHLAVI KOHORTA /BARCHART FREQ /ORDER=ANALYSIS. *V datech je neplatná hodnota, asi překlep 66. MISSING VALUES KOHORTA (0, 66). *Nejsou pohlaví reprezentzována nerovnoměrně?. CROSSTABS /TABLES=pohlavi BY kohorta /FORMAT=AVALUE TABLES /STATISTICS=CHISQ /CELLS=COUNT ROW /COUNT ROUND CELL. *Nejsou v datech lidé, kteří věkově neodpovídají?. DESCRIPTIVES VARIABLES=vekr /STATISTICS=MEAN STDDEV MIN MAX. *Raději po kohortách. EXAMINE VARIABLES=vekr BY kohorta /PLOT BOXPLOT HISTOGRAM /COMPARE GROUPS /STATISTICS DESCRIPTIVES /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL. *Filtrujeme (asi) propadlíky - ti nereprezentují vývojovou etapu zakotvenou v 6. a 10. třídě. *Objevuje se myšlenka uvažovat o kohortách zvlášť. *Zatím jen filtr. USE ALL. COMPUTE filter_$=(vekr<18). VARIABLE LABELS filter_$ 'vekr<18 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMATS filter_$ (f1.0). FILTER BY filter_$. EXECUTE. *Když si teď spustíme pro kontrolu opět četnosti, není informace o filtru na první pohled vidět. *Podívejme se do "Notes". Takové filtry je potřeba reportovat!. *Škála se skládá z položek c01 - c09. *Podíváme se na četnosti odpovědí na jednotlivé položky. FREQUENCIES VARIABLES=c01_99 c02_99 c03_99 c04_99 c05_99 c06_99 c07_99 c08_99 c09_99 /BARCHART FREQ /ORDER=ANALYSIS. *Začínáme popisem vzorku a datasetu. *************************************. 2. Vytváření nových proměnných. **************************************. *Vytvoření škály monitorování. * škála se skládá z položek c01 - c09. *Podíváme se na četnosti odpovědí na jednotlivé položky. FREQUENCIES VARIABLES=c01_99 c02_99 c03_99 c04_99 c05_99 c06_99 c07_99 c08_99 c09_99 /BARCHART FREQ /ORDER=ANALYSIS. *Podíváme se, zda spolu položky pozitivně korelují - abychom z nich mohli udělat škálu. CORRELATIONS /VARIABLES=c01_99 c02_99 c03_99 c04_99 c05_99 c06_99 c07_99 c08_99 c09_99 /PRINT=TWOTAIL NOSIG /MISSING=PAIRWISE. NONPAR CORR /VARIABLES=c01_99 TO c09_99 /PRINT=SPEARMAN TWOTAIL SIG /MISSING=PAIRWISE. *Alternativně můžeme udělat položkovou analýzu. RELIABILITY /VARIABLES=c01_99 TO c09_99 /SCALE('MONIT') ALL /MODEL=ALPHA /STATISTICS=DESCRIPTIVE SCALE CORR /SUMMARY=TOTAL. *Můžeme spočítat škálový skór a uděláme to třema způsoby. *Výpočet ignoruje filtrování. COMPUTE MONIT_S=c01_99 +c02_99+ c03_99+ c04_99+ c05_99+ c06_99+ c07_99+ c08_99+ c09_99. COMPUTE MONIT_M=MEAN(c01_99 , c02_99, c03_99, c04_99, c05_99, c06_99, c07_99, c08_99, c09_99). COMPUTE MONIT_M2=MEAN.8(c01_99 , c02_99, c03_99, c04_99, c05_99, c06_99, c07_99, c08_99, c09_99). EXECUTE. *Podívejme se nyní na statistiky škály monitoringu. *Vždy stojí za to začít zobrazením. *Jedno netradiční. XGRAPH CHART=[POINT] BY MONIT_S[s] /DISPLAY DOT=ASYMMETRIC. *Pro kontrolu pár popisných statistik *Histogram vyprodukovaný prostřednictvím funkce FREQUENCIES spolu se spoustou popisných statistik.. DESC MONIT_S MONIT_M MONIT_M2. FREQUENCIES VARIABLES=MONIT_M2 /STATISTICS=ALL /HISTOGRAM NORMAL /ORDER=ANALYSIS. *Zde už můžeme napsat shrnující odstavec o příprvě dat a filtrech. **********************************************************************************. 3. Popisné statistiky. **********************************************************************************. FREQUENCIES VARIABLES=POHLAVI /BARCHART FREQ /ORDER=ANALYSIS. *Boxplot vyprodukovaný funkcí EXAMINE. EXAMINE VARIABLES=MONIT_M2 /PLOT BOXPLOT STEMLEAF HISTOGRAM NPPLOT /COMPARE GROUPS /PERCENTILES(5,10,25,50,75,90,95) HAVERAGE /STATISTICS DESCRIPTIVES EXTREME /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL. *Když jsme seznámili s oběma proměnnými, můžeme se pokusit zobrazit hledaný vztah. *Mnoho cest. MEANS TABLES=MONIT_M2 BY pohlavi /CELLS=MEAN COUNT STDDEV. *Split-file. SORT CASES BY pohlavi. SPLIT FILE LAYERED BY pohlavi. DESCRIPTIVES VARIABLES=MONIT_M2 /STATISTICS=MEAN STDDEV MIN MAX. SPLIT FILE OFF. *Třeba boxploty - cestou se dozvíme S.E. průměru a můžeme si představit interval spolehlivosti.. EXAMINE VARIABLES=MONIT_M2 BY pohlavi /PLOT BOXPLOT /COMPARE GROUPS /STATISTICS DESCRIPTIVES /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL. *Nebo histogramy. GRAPH /HISTOGRAM(NORMAL)=MONIT_S /PANEL COLVAR=pohlavi COLOP=CROSS. GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=MONIT_S[LEVEL=scale] pohlavi[LEVEL=ordinal] MISSING=LISTWISE REPORTMISSING=NO /GRAPHSPEC SOURCE=VIZTEMPLATE(NAME="2-D Dot Plot"[LOCATION=LOCAL] MAPPING( "y"="MONIT_S"[DATASET="graphdataset"] "x"="pohlavi"[DATASET="graphdataset"])) VIZSTYLESHEET="Traditional"[LOCATION=LOCAL] LABEL='2-D DOT PLOT: MONIT_S-pohlavi' DEFAULTTEMPLATE=NO. GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=MONIT_S pohlavi MISSING=LISTWISE REPORTMISSING=NO /GRAPHSPEC SOURCE=INLINE. BEGIN GPL SOURCE: s=userSource(id("graphdataset")) DATA: MONIT_S=col(source(s), name("MONIT_S")) DATA: pohlavi=col(source(s), name("pohlavi"), unit.category()) COORD: transpose(mirror(rect(dim(1,2)))) GUIDE: axis(dim(1), label("MONIT_S")) GUIDE: axis(dim(1), opposite(), label("MONIT_S")) GUIDE: axis(dim(2), label("Frequency")) GUIDE: axis(dim(3), label("pohlaví"), opposite(), gap(0px)) GUIDE: legend(aesthetic(aesthetic.color), null()) SCALE: cat(dim(3), include("1", "2")) ELEMENT: interval(position(summary.count(bin.rect(MONIT_S*1*pohlavi))), color.interior(pohlavi)) END GPL. *Něco musíme vybrat do zprávy. *Chybějících dat je minimum. *************************************************************************************************. * 4. Plánované hypotézy. *********************************************. *Jaká je přesně hypotéza? ...liší se ve střední hodnotě? *Varianta průměry implikuje t-test. *Předpoklady t-testu. *Intervalovost - check *Normalita?. GRAPH /HISTOGRAM(NORMAL)=MONIT_M2. EXAMINE VARIABLES=MONIT_M2 BY pohlavi /PLOT BOXPLOT HISTOGRAM NPPLOT /COMPARE GROUPS /STATISTICS DESCRIPTIVES /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL. *Homoskedascita? Implicitně Check. *Jaký je tedy rozdíl. Podívejme se do popisných. *Spočítejme si velikost účinku. *Rozdíl není příliš patrný, ale můžeme ho formálně otestovat třeba t-testem. T-TEST GROUPS=pohlavi(1 2) /MISSING=ANALYSIS /VARIABLES=MONIT_M2 /CRITERIA=CI(.95). *Co Cohenovo d? Interval spolehlivosti? To si musíme spočítat ručně. *Nebo online. *Co kdybychom si mysleli, že nemůžeme věřit v robustnost t-testu vůči nenormalitě?. *Bootstrap. BOOTSTRAP /SAMPLING METHOD=SIMPLE /VARIABLES TARGET=MONIT_M2 INPUT=pohlavi /CRITERIA CILEVEL=95 CITYPE=BCA NSAMPLES=1000 /MISSING USERMISSING=EXCLUDE. T-TEST GROUPS=pohlavi(1 2) /MISSING=ANALYSIS /VARIABLES=MONIT_M2 /CRITERIA=CI(.95). *Můžeme použít M-W U, ale zorientovat se ve výstupu dá trochu práce. NPTESTS /INDEPENDENT TEST (MONIT_S) GROUP (pohlavi) MANN_WHITNEY /MISSING SCOPE=ANALYSIS USERMISSING=EXCLUDE /CRITERIA ALPHA=0.05 CILEVEL=95. ********************************************************************************* 5. Doplňkové analýzy. ************************************************************************. *Ale počkat, vždyť náš vzorek tvořily oddělené kohorty. GRAPH /HISTOGRAM=vekr. *A věk by tu mohl hrát roli. GRAPH /SCATTERPLOT(BIVAR)=vekr WITH MONIT_S /MISSING=LISTWISE. *Ano, hraje. Takže kdyby byla pohlaví ve věkových skupinách jinak zastoupena, náš t-test by neseděl. *Zapomeneme, že máme proměnnou kohorta a rekódujeme si ji. *Ty 2 nad 18 bereme jako divné outliery. RECODE vekr (LOWEST THRU 15 = 1) (15.1 THRU 18=2) INTO kohortaN. EXECUTE. VARIABLE LABELS kohortaN "Kohorta (nová)". VALUE LABELS kohortaN 1 "mladší 11-14" 2 "starší 15-17". CROSSTABS /TABLES=pohlavi BY kohortaN /FORMAT=AVALUE TABLES /CELLS=COUNT ROW /COUNT ROUND CELL. *No, rozdíly to jsou, ale malé. *A zkusíme předchozí analýzy udělat zvlášť pro každou kohortu. SORT CASES BY kohortaN. SPLIT FILE SEPARATE BY kohortaN. *Například t-test. T-TEST GROUPS=pohlavi(1 2) /MISSING=ANALYSIS /VARIABLES=MONIT_S /CRITERIA=CI(.95). *Nesmíme zapomenou nakonec rozdělení dat vypnout. SPLIT FILE OFF. Předchozí dvojí analýzu můžeme dostat do jednoho grafu přes panely. * Chart Builder. GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=kohortaN MONIT_S pohlavi MISSING=LISTWISE REPORTMISSING=NO /GRAPHSPEC SOURCE=INLINE. BEGIN GPL SOURCE: s=userSource(id("graphdataset")) DATA: kohortaN=col(source(s), name("kohortaN"), unit.category()) DATA: MONIT_S=col(source(s), name("MONIT_S")) DATA: pohlavi=col(source(s), name("pohlavi"), unit.category()) DATA: id=col(source(s), name("$CASENUM"), unit.category()) COORD: rect(dim(1,2), cluster(3,0)) GUIDE: axis(dim(3), label("Kohorta (nová)")) GUIDE: axis(dim(2), label("MONIT_S")) GUIDE: legend(aesthetic(aesthetic.color), label("pohlaví")) SCALE: cat(dim(3), include("1.00", "2.00")) SCALE: linear(dim(2), include(0)) SCALE: cat(aesthetic(aesthetic.color), include("1", "2")) SCALE: cat(dim(1), include("1", "2")) ELEMENT: schema(position(bin.quantile.letter(pohlavi*MONIT_S*kohortaN)), color(pohlavi), label(id)) END GPL.