Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Transformace dat: používání syntaxe v SPSS

Podobné prezentace


Prezentace na téma: "Transformace dat: používání syntaxe v SPSS"— Transkript prezentace:

1 Transformace dat: používání syntaxe v SPSS
Semináře ke kurzu Analytické metody výzkumu Jindřich Krejčí Transformace dat: používání syntaxe v SPSS

2 Základy psaní syntaxe, základní příkazy (opakování)
Formáty dat, algoritmy a funkce Operace s textovými proměnnými Uzavřené posloupnosti příkazů, cykly a složitější konstrukce Znalost syntaxe bude ověřena v testu ! Analytické metody výzkumu, semináře Jindřich Krejčí

3 Proč SPSS syntax obratnost: nutnost:
možnost opakování celé posloupnosti příkazů možnost uložit posloupnost příkazů a používat je později, modifikovat pro různé úlohy nebo předat jiným uživatelům možnosti editace příkazů efektivní řešení podobných nebo opakujících se transformací uspořádání práce, úspora prostoru (netřeba nahrávat rozpracované datové soubory) nutnost: některé úlohy nelze realizovat pomocí oken, např. pokud vyžadují posloupnost více příkazů specifická zadání analýz Analytické metody výzkumu, semináře Jindřich Krejčí

4 syntaxové okno SPSS 20.0 help - slovník příkazů
spustit označené příkazy (od tečky do tečky) aktivní okno dat syntaxové okno SPSS 20.0 Analytické metody výzkumu, semináře Jindřich Krejčí, říjen 2011

5 syntaxové okno cca do verze SPSS 15:
nápověda spustit syntax seznam proměnných undo poslední použité příkazy v menu Analytické metody výzkumu, semináře Jindřich Krejčí, říjen 2011

6 Základy psaní syntaxe tlačítko PASTE v oknech vloží odpovídající syntax do syntaxového okna struktura příkazů je dostupná v nápovědě SPSS syntax lze ukládat v prostém textovém formátu a lze ho kopírovat, => lze editovat ve Wordu a využít editační funkce: kopírování bloků, vyhledávání, vícenásobná záměna, ... soubory se syntaxí se vyplatí ukládat lze je znovu použít, upravovat/opravovat a slouží jako dokumentace práce není třeba ukládat upravená data, ale pouze syntax Analytické metody výzkumu, semináře Jindřich Krejčí

7 příkaz začíná klíčovým slovem a končí vždy tečkou
příkazy lze (obvykle) zkrátit na tři písmena variable labels AGE „Vek respondenta“. odpovídá: var lab AGE „Vek respondenta“. a další zjednodušení - např.: FREQUENCIES VARIABLES=q1 /ORDER= ANALYSIS. odpovídá: fre q1. CROSSTABS /TABLES=q1 BY q2a /FORMAT= AVALUE TABLES /CELLS= COUNT /COUNT ROUND CELL . odpovídá: cro tab=q1 by q2a. řazení příkazů stejného druhu pomocí lomítka, např.: var lab q1 "Otazka 1" / q2 "Otazka 2". předem definované proměnné lze vkládat přes menu Utilities-Variables-PASTE popis pomocí komentářů (komentář začíná hvězdičkou, nezapomínat na tečku na konci) delší syntaxe pro přehlednost upravujeme graficky (nové řádky, odsazení, vynechané řádky...) Analytické metody výzkumu, semináře Jindřich Krejčí, říjen 2011

8 Otevření datového souboru
příkaz GET GET SAS, GET CAPTURE, ... KEEP, DROP, RENAME, MAP příkazy NEW FILE a IMPORT (*.por) příkaz DATA LIST (import dat, ascii, fixed/free organisation, No. of records, summary table...) DATA LIST FILE = ‘\\data\data.dat’ /ID 1-3 AGE 4-5 SEX 6 (A) Q1 to Q BEGIN DATA - END DATA. DATA LIST /ID 1-3 AGE 5-6 SEX 8 (A) Q1 to Q BEGIN DATA m f f END DATA. MATRIX DATA - obd. DATA LIST Analytické metody výzkumu, semináře Jindřich Krejčí

9 Popis souboru, smazání datového souboru
Ukládání souboru dat SAVE [OUTFILE..] - uloží data ve form. SPSS, možno uspořádat /RENAME - přejmenování proměnných SAVE OUTFILE=“C:\eko.sav” /RENAME (AGE=VEK) (SEX=POHL). /DROP - vypuštění proměnných /KEEP - uložení pouze uvedených proměnných, a to v uvedeném pořadí EXPORT [OUTFILE...], WRITE [OUTFILE...], SAVE TRANSLATE... Popis souboru, smazání datového souboru FILE LABEL DOCUMENT - DROP DOCUMENTS ERASE Analytické metody výzkumu, semináře Jindřich Krejčí

10 Získání informací o struktuře souboru
deskriptivní statistiky: frekvence, průměry, odchylky, minima, maxima, čtvercové tabulky příkaz DISPLAY - slovník proměnných /DICTIONARY - kompletní „dictionary“ /LABELS - var.names, positions, var.labels /NAMES - var.names (/INDEX - var. names, position) /MACROS - definovaná makra SYSFILE INFO - informace o souboru včetně CODEBOOK - informace o souboru, obd. DISPLAY, od SPSS 17.0) Analytické metody výzkumu, semináře Jindřich Krejčí

11 Vymazání / vypuštění části souboru z analýzy
select if (arg). SELECT IF (sex EQ ‘male‘). vybere pouze muže, ostatní data ze souboru definitivně vymaže kombinace příkazů temporary a select if vymaže data pouze pro bezprostředně následující analýzu. TEMPORARY. SELECT IF (sex EQ ‘male’). FRE /VAR=educ. spočte frekvence vzdělání pouze pro muže filter by prom. filter off. - dočasná selekce dat. COMPUTE filter=(sex EQ ‘male’). VALUE LABELS filter 0'Not Selected' 1'Selected'. FILTER BY filter. ... FILTER OFF. Analytické metody výzkumu, semináře Jindřich Krejčí

12 Spojování souborů, rozdělení do skupin, agregace
ADD FILES - přidá případy MATCH FILES - přidá proměnné SORT CASES - seřadí podle určené proměnné(-ých) SPLIT FILE - porovnávání skupin/výstupy po skupinách při analýze AGGREGATE - agreguje případy do skupin a vytvoří nový soubor Analytické metody výzkumu, semináře Jindřich Krejčí,

13 Proměnné 8 míst; první písmeno; na konci ne tečka nebo podtržítko; ne jako příkazy; ne #, $ na první pozici (scratch/system variables) založit novou, přejmenovat DATA LIST, MATRIX DATA (vytvoří datový soubor nebo načte data) NUMERIC, STRING: NUMERIC V1 V2 (F4.0). STRING V3 (A2). COMPUTE, COUNT, RECODE ... INTO RENAME VARIABLES: RENAME VARIABLES (AGE EDUC=VEK VZDEL). TO: compute V1 TO V100=0; recode V1 to V100 (1=2) ._ pomocné znaky, ne jako první FORMAT - nastvení formátu numerických proměnných FORMAT AGE (F2.0). VARIABLE LABELS - přidělí label (popisný název) VARIABLE LABELS VEK ‘Respondent: vek’ /VZDEL ‘Respondent: vzdelani’. VALUE LABELS - přidělí označení hodnot proměnné VAL LAB VZDEL 1 ‘zakladni’ 2 ‘vyucen’ 3 ‘maturita’ 4 ‘VS’. VAL LAB V1 TO V10 1 ‘ano’ 2 ‘ne’. ADD VALUE LABELS - přidá nebo změní labely ADD VAL LAB VZDEL 3 ‘stredni’. APPLY DICTIONARY - kopírování celého slovníku do dalších souborů Analytické metody výzkumu, semináře Jindřich Krejčí, říjen 2011

14 Základní transformace proměnných
COMPUTE - založí novou numerickou proměnnou. COMPUTE AGE = S01. (*věk=100-rok narození.) RECODE - překódování proměnné RECODE AGE (18 thru 29=1)(30 thru 44=2)(45 thru 59=3)(60 thru hi=4)(else=sysmis). IF - jestliže if (MARITAL ne 1)SPWRKST=0.(*jestliže ‘rodinný status‘ je < > 1 ‘ svobodný, nemá partnera’ ‚ ‘ ekonomický status partnera‘ = 0 ‘ not applicable’). EXECUTE - reálné provedení příkazů. COMPUTE V1=1. EXE. (*založí se proměnná V1 a naplní se jedničkami.) Analytické metody výzkumu, semináře Jindřich Krejčí

15 Chybějící hodnoty při transformacích
sysmis - systémová chybějící hodnota (tečka, čárka) hodnoty označené jako chybějící MISSING VALUES - chybějící hodnoty mis val SPWRKST (0). při operacích: u numerických operací, když v jedné proměnné v transformaci chybí hodnota, také výsledkem je obvykle chybějící hodnota záleží na povaze, např. a=1, b=sysmis, MIN(a,b)=1 u některých funkcí (SUM, MEAN, MIN, MAX, SD, VARIANCE...) lze určit max. dovolený počet hodnot pomocí .n COMPUTE FACTOR = SUM.2 (Q1 to Q5). analýzy: LISTWISE, PAIRWISE Analytické metody výzkumu, semináře Jindřich Krejčí

16 Aritmetické a logické operátory a funkce:
EQ nebo = equal to NE nebo <> not equal to LT nebo < less than LE nebo <= less than or equal to GT nebo > greater than GE nebo >= greater than or equal to AND, OR (&, |) THRU, HI = higher, LO = lower RECODE (lo thru 0 = sysmis) (1 thru 3 = 1) (4 thru hi = 2). ABS (arg) absolutní hodnota z argumentu RND (arg) zaokrouhlení TRUNC (arg) truncate - umaže desetinná místa LN (arg), LG10 (arg) logaritmy MIN (arg list), MAX (arg list), SUM (arg list), MEAN (arg list) SD (arg list), VARIANCE (arg list), LAG (arg, n) hodnota před n-případů Analytické metody výzkumu, semináře Jindřich Krejčí,

17 Ukončené posloupnosti více příkazů
DO IF, DO REPEAT, LOOP: oddělené úseky programu, které musí být ukončeny příslušným příkazem, END IF, END REPEAT, END LOOP uvnitř úseku mohou být pouze příkazy pro transformace, nikoliv statistické analýzy DO IF - END IF - podmíněné přiřazení: blok příkazů mezi DO IF a END IF se provede pouze za podmínky definované v příkazu DO IF. Příklad: datový soubor spojený ze dvou výzkumů v roce 1991 a 1995, kategorizace vzdělání je v jednotlivých letech rozdílná, ale je uvedena ve stejné proměnné VZDEL. DO IF (rok = 1991). RECODE VZDEL (1=1)(2 3=2)(4=3)(5=4) (else=99). END IF. DO IF - END IF. Analytické metody výzkumu, semináře Jindřich Krejčí

18 DO REPEAT - END REPEAT DO REPEAT - END REPEAT - uzavřený cyklus, který opakuje stejnou operaci na více proměnných: blok příkazů mezi DO REPEAT a END REPEAT se provede opakovaně na všech proměnných definovaných v příkazu DO REPEAT. Příklad 1: zjednodušení při definování baterie proměnných. DO REPEAT v = vzdel1 to vzdel4. compute v = 0. END REPEAT. Analytické metody výzkumu, semináře Jindřich Krejčí

19 DO REPEAT - END REPEAT Příklad 2: rozkódování tabulky v dotazníku. * v datech SOCOWRK.SAV zkonstruujte promennou s informaci o nezamestnanosti hlavy domacnosti: compute HHUNEMP=0. var lab HHUNEMP 'Head of household unemployed in last 5 yrs?'. val lab HHUNEMP 1 'yes' 2 'no'. * pomocne promenne: * numb = poradove cislo respondenta v otazce Q1 * unemp = udaj o nezamestnanosti. DO REPEAT numb = number1 TO number6 / unemp = unemp1 TO unemp6. IF(numb = 1)HHUNEMP=unemp. END REPEAT. fre var=hhunemp. Příklad 3 samostatně: v datech socowrk.sav zkonstruujte proměnnou věk hlavy domácnosti. Analytické metody výzkumu, semináře Jindřich Krejčí

20 LOOP - END LOOP uzavřený cyklus (obd. DO REPEAT - END REPEAT), který opakuje stejnou operaci vícekrát nebo na více proměnných používá se na proměnných se jmény se stejným základem, které volá pořadovým číslem v příkazu LOOP jsou zastoupeny tzv. „skrečovou proměnnou“ (začíná # a neukládá se do datového souboru) (zpravidla) se nejprve definují pomocí příkazu VECTOR VECTOR propojuje nebo hromadně vytváří proměnné se stejným základem jména, lišící se číslicí na konci, např. VECTOR EDUC (5). vytvoří proměnné EDUC1, EDUC2, EDUC3, EDUC4, EDUC5. cykly LOOP - END LOOP, lze vzájemně vnořovat, nesmějí se prolínat lze upřesnit splněním podmínky, předčasně ukončit při splnění podmínky nebo příkazem BREAK uvnitř DO IF - END IF příklad použití - zpracování otázek typu „MULTIPLE RESPONSE“ Analytické metody výzkumu, semináře Jindřich Krejčí

21 Př.: Chybějící hodnoty nahrazeny průměrem COMPUTE prumer=MEAN(v1 to v8). VECTOR v=v1 TO v8. LOOP #I=1 TO 8. IF (MISSING(V(#I)))V(#I)=prumer. END LOOP. EXECUTE. Př.: LOOP, jestliže X nenabývá chybějící hodnoty VECTOR v=v1 TO v8. LOOP #I=1 TO 8 IF NOT MISSING(X). COMPUTE V(#I)=V(#I)+X. END LOOP. EXECUTE. Př.: LOOP, dokud Y nepřekročí hodnotu VECTOR v=v1 TO v8. LOOP #I=1 TO 8. COMPUTE V(#I)=V(#I)+X. END LOOP IF (X GE 100). execute.

22 Operace s textovými proměnnými
STRING name (A6). COMPUTE name = 'Pavel'. založí textovou proměnnou o 6 znacích a přiřadí hodnotu Pavel funkce: LOWER(arg), UPCASE(arg), RTRIM(a1,a2), LTRIM(a1,a2), SUBSTR(a1,a2,a3), CONCAT(arg list), INDEX(a1,a2,a3), LENGTH(arg), MIN(arg), MAX(arg), RINDEX(a1,a2,a3) konverze: NUMBER (arg, format), STRING (arg, format), RECODE (CONVERT) Analytické metody výzkumu, semináře Jindřich Krejčí


Stáhnout ppt "Transformace dat: používání syntaxe v SPSS"

Podobné prezentace


Reklamy Google