Sunteți pe pagina 1din 13

IX.

Operaţiuni executate asupra variabilelor şi bazelor de date

Complexitatea şi varietatea calculelor statistice din programu SPSS sunt amplificate de


numeroasele facilitãţi de lucru în cadrul bazelor de date. O parte din ele sunt întâlnite şi în
diverse programe, altele sunt specifice. Pentru a trece în revistã aceste facilitãţi ni s-a pãrut mai
simplu de a prezenta meniuri întregi de comenzi cu precizarea cã nu vom detalia toate
utilitãţile specifice; vom detalia doar acele aspecte pe care le considerãm fundamentale sau
oricum sunt mai des întâlnite. Vom începe cu meniul Data care este compus din urmãtoarele
submeniuri:
Fig 1. Meniul Data

1. Define Variable Properties- ajutã la schimbãri de nume


sau atribute ale variabilelor din Data Editor. Dupã ce am
trecut o variabilã din coloana din stânga în dreapta se va
deschide fereastra care poartã chiar numele submeniului,
fereastrã în care avem o descriere amãnunţitã a variabilei.
Aici putem face şi schimbãrile pe care le considerãm
necesare. Dacã Data Editor nu conţine o bazã de date
submeniul nu poate fi activ.
2. Copy Data Properties- ajutã la transferul datelor între
diverse baze de date
3. Define Dates-ajutã la definirea datelor calendaristice mai
ales pentru lucrul cu serii de timp
4. Insert Variable-ajutã la inserarea unei noi variabile în
baza de date. Sã presupunem cã celula activã dintr-o bazã de
date este poziţionaltã pe o coloanã (variabilã):
ca în situaţia de mai jos. Dupã activarea comenzii în partea dreaptã va apare o nouã variabilã
care trebuie definitã (aceeaşi operaţie putea fi setatã dacã ne opream cu mausul pe numele
variabilei marital→clic dreapta şi alegeam Insert Variable sau direct de pe bara de
instrumente cu butonul ):
Fig 2. Inserarea unei variabile

5. Insert Cases-ajutã la inserarea unor noi cazuri (linii orizontale). Dacã celula activã este
plasatã pe un anumit rând atunci va apare un nou rând imediat deasupra acestuia. Se poate
apela şi la plasarea mausului pe rîndul respectiv şi clic dreapta sau direct de pa bara su
instrumente acţionând butonul .
6. Go to Case- se poate indica un anumit caz din bazã pentru a se ajunge imediat la acesta.

7. Sort Cases-ajutã la sortarea (ordonarea) valorilor seriei dupã valorile dintr-una sau mai
multe variabile. Aici un exemplu de reordonare a bazei dupã valorile crescãtoare din variabila
age:

Fig. 3 Sortarea bazei după o variabilă

8. Transpose-ajutã la inversarea coloanelor cu liniile din baza de date. Variabilele neselectate


vor fi pierdute!

9. Restructure-ajutã la transformãri complexe în interiorul bazelor de date. Sunt trei opţiuni:


restructurarea anumitor variabile în cazuri, restructurarea unor cazuri în variabile sau
inversarea întrecazuri şi variabile tuturor datelor.

10. Merge files-ajutã la unirea mai multor date din baze diferite. Sã presupunem cã am aplicat
un chestionar în oraşul X şi apoi acelaşi chestionar în oraşul Z. Datele respective sunt în baze
diferite deşi au acelaşi numãr de variabile. Reunirea într-o singurã bazã se face plecând de la
una dintre ele (baza1) la care se adaugã cea de a doua bazã . Sã presupunem cã am construit o
bazã cu doar zece cazuri la care vom adãuga alte 10 cazuri din cealaltã bazã :
Vom acţiona comenzile
Data→Merge Files→
Add Cases iar dupã ce
vom selecta noua bazã se
va deschide urmãtoarea
fereastrã. Sã presupunem
cã in noua bazã variabila
religie a fost scrisã greşit
relig.

În aceastã fereastrã
variabilele cu semnul (*) fac
parte din baza iniţialã iar
cele cu semnul (+) din baza
adãugatã. Numele celei de-a
doua variabile poate fi
schimbat din butonul
Rename sau pot fi selectate
ambele şi trecute în partea
dreaptã cu butonul Pair.
Butonul Paste este
consevarea lucrului în limbaj
sintaxa. Dupã OK rezultã:

Noua bazã (baza2)


cuprinde acum toate
cele 20 de cazuri iar
numele acesteia este
cel al primei baze de
la care s-a plecat. O
putem salva în
aceastã formã
File→Save as...
Comanda Merge Files ajutã şi la
conectarea cu alte baze de date care
au variabile diferite. Sã presupunem
cã avem prima bazã cu cele 10
cazuri şi în altã bazã de date avem
situaţia respectivilor subiecţi
privind numãrul de copii. Se
observã cã subiecţii au aceleaşi
numere de identificare dar nu sunt
în ordine. Aplând la Sort Cases
dupã variabila id rezultã:

Dupã ce am salvat
noua bazã (sortatã!)
am formulat
comenzile
Data→Merge
File→Add
Variables şi dupã
OK observãm cã
noua variabilã a
intrat în prima bazã.
Sã presupunem cã în cea de a doua bazã aveam numai cinci observaţii dupã cum urmeazã:

Aceastã nouã bazã va trebui sã fie sortatã ascendent dupã


variabila id deoarece cazurile nu sunt în ordine. Dupã
sortare, salvãm fişierul. Baza de date de la care se va pleca
este baza1 din exemplul precedent. Dupã ce am deschis
aceastã bazã vom parcurge Data→Merge Files→Add
Variable şi va apare urmãtoarea feereastrã:
Iniţial variabila id se afla în
coloana din stânga
(Excluded Variables) dar a
fost desemnatã drept key
variable dupã setarea opţiunii
Match Case....→Both files
provide cases. Se observã cã
valorile din baza externã s-au
ataşat în baza de plecare
pentru cazurile
corespunzãtoare.

Practic au apãrut în final toate


varibilele dar acolo unde au fost mai
puţine observaţii s-au salvat doar acele
date.
þ Obs. 1. Dupã ce au fost luate toate
setãrile înainte de OK se poate da
comanda Paste care salveazã în limbaj
sintaxã comenzile de pânã acum într-un
fişier separat care poate fi salvat şi
folosit altã datã.

þ Obs. 2. Existã şi alte douã opţiuni în fereastra de mai înainte: External file is keyed table
şi Working Data File is keyed table.

Sã presupunem cã în localitatea X în funcţie de religie cetãţenii trebuie sã plãteascã o taxã


anualã exprimatã în sute de mii de lei astfel:

Se cere ca în baza2 unde sunt înregistraţi 20 de subiecţi sã se


ataşeze fiecãruia dupã religia proprie taxa pe care o va plãti.
Practic trebuie sã reunim baza2 cu aceasta din urmã. Pentru
început ambele baze vor fi sortate ascendent dupã variabila
religie şi vor fi salvate în aceastã formã. Apoi vom deschide
baza2 şi vom urma comenzile Data→ Merge File→ Add
Variable dupã care vom seta opţiunea External file is keyed
table, iar variabila cheie este religia:
Se observã cã în baza iniţilã a apãrut o nouã variabilã care atribuie fiecãrei categorii valoarea
taxelor respective. Practic apar toate variabilele din cele douã fişiere iar criteriul de alipire
rãmâne alocare unor valori-perechi.

þ Obs. 3. Opţiunea Working Data File is keyed table o vom alege dacã drumul parcurs este
invers: de la ultima bazã cu cele trei cazuri la baza mare: deci baza de plecare (Working Data
File) va da criteriul de alipire a bazelor.

þ Obs. 4. Operaţiile de alipire a bazelor de date trebuie sã respecte condiţiile: trebuie sã existe
în ambele baze o variabilã comunã dupã care se face alipirea; trebuie o atenţie sporitã la
variabilele care au acelaşi nume şi care nu sunt criterii de alipire; variabilele trebui8e sortate
ambele în acelaşi sens înainte de a fi alipite.

8. Agregarea datelor

Uneori este nevoie de a sintetiza anumite informaţii despre valorile dintr-o bazã de date
grupându-le dupã o serie de categorii care sunt specifice unei variabile alese. Sã luãm de
exemplu baza de date Cars.sav:
În aceastã bazã de date sunt diverse informaţii despre autoturisme: cilindree (variabila engine)
puterea motorului (horse), greutate (weight), acceleraţie (accel), an de fabricaţie (year).
Plecând de la aceastã bazã de date dorim sã obţinem pentru toate aceste caracteristici mãrimi
medii sau alte mãrimi, grupate dupã anii de fabricaţie. Pentru aceasta vom apela comenzile
Data→Aggregate dupã care va apare fereastra urmãtoare:

Se impun unele precizãri privind aceastã fereastrã:


-variabila în funcţie de care se vor face calcule separate o trecem în rubrica Break Variable
-variabilele asupra cãrora se vor face calculele se trec în cea de a doua rubricã iar operaţiile în
sine sunt opţionale şi se pot alege din butonul Function:

Dupã cum se vede pot fi alese


diverse modalitãţi de calcul de la
principalele valori statistice la
specificarea anumitor valori
statistice (prima, ultima etc.), la
numãrul de cazuri, la precizarea
procentajelor mai mari/mai mici
faţã de o anumitã valoare sau cele
dintr-un interval sau dinafara
acestuia, la precizare unui
fragment din date între anumite
limite precizate.

-opţiunea Save number of cases...va introduce o nouã variabilã care contorizeazã numãrul de
cazuri din fiecare categorie
-opţiunea Create new data file va indica o nouã bazã de date care va fi salvatã de program şi
în care vom avea rezultatele agregãrii. Din butonul File putem sã denumim baza respectivã!
Pentru acest caz vom lãsa denumirea aggr.sav
-opţiunea Replace Working data file va elimina datele din baza curentã!
Dupã ce vom da OK trebuie sã cãutãm şi sã deschidem noul fişier creat de cãtre program şi
care se aflã de obicei în Program files→SPSS. Noua bazã de date este urmãtoarea:

Se observã categoriile
generate de cãtre
variabila year şi pentru
fiecare categorie (an de
fabricaţie) sunt calculate
mediile respective.
Pentru accel sunt
specificate doar valorile
maxime. Ultima
variabilã conţine
numãrul de cazuri din
fiecare categorie. Se pot
apoi face analize
plecând de la aceste
date.

9. Split File-comandã des utilizatã care permite analizarea diverselor valori statistice pentru
grupuri întregi de subiecţi generate tocmai de categoriile din variabile. Sã presupunem cã în
baza GSS93 subset.sav dorim sã cunoaştem în care dintre regiunile americane respondenţii au
în medie, un nivel de educaţie mai mare. Conform variabilei region4 subiecţii din anchetã sunt
divizaţi în 4 regiuni iar variabila educ reprezintã anii de studiu pentru o şcoalã încheiatã. Vom
apela la comanda Data→Split file pentru a produce filtrarea bazei conform unui criteriu
impus: Variabila dupã care vom împãţi
subiecţii în grupuri disticte
region4 este trecutã în dreapta iar
ca variantã de vizualizare a
rezultatelor am ales opţiunea
Compare Groups. Dupã OK în
Data Editor va apare în colţul din
dreapta jos menţiunea Split File
On care ne avertizeazã cã baza
este filtratã şi orice rezultat viitor
va fi definit de filtrarea respectivã:

Urmeazã sã calculãm media anilor de studiu cu comenzile Analyze→Descriptive


Statistics→Frequencies iar din meniul Statistics vom alege doar media (mean). Rezultatul în
Output este urmãtorul:
Statistics
Dupã cum se observã din tabelul
Highest Year of School Completed
. N Valid 741
alãturat cei ce nu au declaratã
Missing 2 regiunea au în medie 13.07 ani de
Mean 13.07 şcoalã. Media cea mai mare se
Northeast N Valid 136 întâlneşte printre cei din vestul SUA.
Missing 0 Restul comparaţiilor sunt evidente.
Mean 13.39
Midwest N Valid
Obs. Dacã trebuie sã facem alte
221
Missing 0 analize statistice care nu privesc
Mean 13.18 împãrţirea populaţiei pe categorii
South N Valid 248 atunci trebuie sã eliminãm comenzile
Missing 0 anterioare astfel: Data→Split
Mean 12.30
File→Reset→OK sau prin alegerea
West N Valid 150
Missing 2
opţiunii Analyze all cases...
Mean 13.56

þ Obs: rezultatele pot fi afişate şi separat dacã setam opţiunea Organize output by groups.

10. Select Cases-dintr-o bazã de date se pot analiza anumite cazuri selectate dupã un criteriu
necesar cercetãrii statistice. Procedura urmeazã comenzile Data→Select Cases. Sã
presupunem cã în baza de date BOP_mai/2003_Gallup.sav dorim sã vedem care sunt
opţiunile persoanelor de sex masculine privind direcţia în care se îndreaptã România: este
vorba de variabilele sex0 (genul respondenţilor) şi a1 (direcţia în care se îndreaptã ţara
noastrã). Prima variabilã este variabila criteriu cu valorile: 1. masculin, 2.feminin. Vom selecta
doar respondenţii de sex masculin prin If condition is satisfied→If:

Se va deschide o nouã fereastrã în care am pus condiţia de selecţie: sex0=1. Dupã


Continue se va reveni în baza de date care are acum, în dreapta jos precizarea Filter On. În
baza de date vor apare în partea dreaptã o serie de „tãieturi” semn cã liniile ce cpurind sexul
feminin au fost -pentru moment-eliminate. Din acest moment orice calcule statistice efectuate
vor ţine cont de selectarea efectuatã. La final respectiva setare trebuie anulatã dacã se
intenţioneazã alte calcule.
Din acest moment orice calcule
statistice efectuate vor ţine cont
de selectarea efectuatã. La final
respectiva setare trebuie anulatã
dacã se intenţioneazã alte
calcule. Rezultatul final este
urmãtorul:

Statistics Numãrul de cazuri valide sunt doar


Credeþi cã în þara noastrã lucrurile merg într-o respondenţii de sex masculin dintr-un
direcþie bunã sau într-o direcþie greºitã? eşantion de 2100 de persoane.
N Valid 970 Rezultatele finale sunt urmãtoarele:
Missing 0

Credeþi cã în þara noastrã lucrurile merg într-o direcþie bunã sau într-o direcþie
greºitã?

Cumulative
Frequency Percent Valid Percent Percent
Valid direcþia este bunã 383 39.5 39.5 39.5
direcþia este greºitã 511 52.7 52.7 92.2
NS 69 7.1 7.1 99.3
NR 7 .7 .7 100.0
Total 970 100.0 100.0

þ Obs: Metodele de selecţie sunt foarte diverse: selectarea unui eşantion din bazã putându-se
indica în mod precis cât la sută din cazuri vor fi selectate (Random sample of cases), selecţie
în funcţie de o variabilă temporală sau după anumite ranguri care se pot preciza (Based on
time or case range), selecţie în funcţie de o variabilã filtru care dacă ia valoarea nulă atunci
cazul respectiv se elimină (Use filtre variable). Există şi posibilitatea ca liniile neselectate să
fie şterse din bază însă această operaţie trebuie făcută cu precauţie. În cadrul ferestrei Select
Cases If se pot folosi butoanele cu cifre sau semne matematice pentru condiţiile impuse şi
chiar o serie de funcţii care sunt listate în tabelul din dreapta ferestrei. Acestea pot fi: funcţii
aritmetice (ABS[modul], LN[log. natural], SQRT [radical], etc,) funcţii statistice (MEAN,
SUM, VARIANCE, etc.) funcţii de lucru cu variabile nominale, funcţii pentru date temporale,
funcţii logice, funcţii referitoare la valorile lipsã etc. O parte din aceste funcţii le regãsim si în
programul Excel.

11. Weight Cases-ajutã la ponderarea observaţiilor adicã la repetarea unei observaţii de un


anumit numãr de ori. Aceastã operaţie este necesarã în cazurile în care anumite subgrupuri din
populaţie nu sunt bine reprezentate în eşantion. De exemplu proporţia de tineri între 18-25 de
ani este de 30% în eşantion iar în populaţia mare este de 25%. Eşantionarea poate introduce
distorsiuni şi de aceea se cere ponderarea acelor cazuri care sunt supra/sub-evaluate. Se
defineşte o variabilă de ponderare conform căreia se vor aplica respectivele ponderări.
Procedura impusă de către program pleacă de la o ponderare egală a fiecărui caz ca şi cum
şansele de intra în eşantion sunt egale (eşantionare simplă aleatoare). Aceste şanse sunt însă
inegale atunci când eşantionul ţine cont de o anumită stratificare.
Folosirea comenzii Weight Cases se dovedeşte foarte utilă atunci când ponderăm
subgrupuri dintr-un eşantion deoarece acestea nu reflectă proporţiile dintr-o populaţie extinsă.
De exemplu T. Rotariu şi P. Iluţ (1997; 191-192) propun două strategii: eliminarea aleatorie a
unor chestionare din grupul supra-reprezentat în eşantion sau duplicare unui anumit număr de
chestionare în grupul mai puţin reprezentat în eşantion. Evident, autorii atrag atenţia asupra
riscului ca aceste operaţiuni să introducă în mod nepermis alte erori pe lângă cele provenite din
neconcordanţele dintre statisticile oficiale şi populaţia reală. Prudenţa în acest caz trebuie
combinată cu verificări suplimentare din perspectiva altor variabile. O altă sursă de eroare pe
cae au constatat-o cei doi autori se referă la modalităţile de alegere a unei persoane din cadrul
unei gospodării în cazul unei anchete prin chestionar (op. cit., 147-148). Într-adevăr şansele de
a fi ales în eşantion pentru un adult de exemplu scad odată cu mărimea familiei: dacă familia e
formată dintr-o singură persoană şansa de a fi aleasă este 100% iar dacă sunt două persoane
şansa scade la 50% etc. Se recomandă în acest caz ca familia cu două persoane să aibă o şansă
dublă de a fi extrasă, apoi familia cu trei persoane să aibă o şansă triplă etc. Atorii recomadă în
acest caz ca la final să se facă o ponderare după mărimea familiei din care provine
respondentul. Iată un exemplu a unei astfel de ponderări dat de către M. Rîşteiu et al. (2003,
vol. 2; 132-134). Analiza autorilor se opreşte la baza de date gss98.sav şi care se poate găsi pe
Internet. În respectiva bază de date se pot identifica variabila adults (care reprezintă numărul
de persoane cu vârsta de peste 18 ani din familie). Simpla analiză statistică a acestei variabile
dă următoarea configuraţie:

HOUSEHOLD MEMBERS 18 YRS AND OLDER În acest context se pune problema


Cumulative acordării unor şanse mai mari de
Frequency Percent Valid Percent Percent
Valid 1 967 34.1 34.2 34.2 apariţie a persoanelor din familii
2 1510 53.3 53.3 87.5
mai mari. Pentru aceasta se
3 275 9.7 9.7 97.2
4 64 2.3 2.3 99.5 calculează un anumit coeficient
5 13 .5 .5 99.9 de multiplicare şi a cărui valoare
6 1 .0 .0 100.0
7 1 .0 .0 100.0
este în acest caz egal cu 1,818.
Total 2831 100.0 100.0 Această valoare s-a obţinut
Missing NA 1 .0
conform algoritmului din tabelul
Total 2832 100.0
de mai jos. Se observă că se caută
un eşantion în care se cumulează
HOUSEHOLD MEMBERS 18 YRS produsele de genul 1x967,
AND OLDER
2x1510, 3x275 etc., care justifică
Valid 1 967 967
şansele acordate după aprecierile
2 1510 3020
3 275 825
de mai înainte. La final suma de
4 64 256 5146 a fost împărţită la 2831 şi a
5 13 65 rezultat coeficientul de 1,818
6 1 6 (rotunjit). În continuare autorii
7 1 7 introduc o nouă variabilă numită
Total 2831 5146 1.81773225 wadults creată cu ajutorul sub-
Missing NA 1 meniului Compute prin
Total 2832 ponderarea variabilei adults cu
acest coeficient:
Ca de obicei noua variabilă se va
găsi în bază pe ultima poziţie:

Abia acum poate fi apelată procedura weight cases cu variabila wadults drept criteriu:

Odată activat butonul OK se va


observa că pe bara de jos va apare
specificarea de rigoare:

La final distribuţia persoanelor cu vârste de peste 18 ani va fi următoarea:

HOUSEHOLD MEMBERS 18 YRS AND OLDER þ Obs. Se poate reveni la


Cumulative situaţia iniţială a bazei de date
Frequency Percent Valid Percent Percent
Valid 1 532 18.8 18.8 18.8 alegându-se opţiunea Do not
2 1661 58.7 58.7 77.5 weight cases.
3 454 16.0 16.0 93.5
4
5
141
36
5.0
1.3
5.0
1.3
98.5
99.7
þ Obs. Am folosit pentru
6 3 .1 .1 99.9 afişarea în Output un alt model
7 4 .1 .1 100.0
pentru tabele. Acest model se
Total 2831 100.0 100.0
poate seta urmând meniul
Edit→Option→Pivot Tables:

S-ar putea să vă placă și