Tworzenie nowych zmiennych
Jedną z podstawowych czynności, jakie wykonuje się w trakcie analizy danych, jest tworzenie nowych zmiennych na bazie zebranych informacji. Przypuśćmy, że dysponujemy informacjami na temat wykształcenia osób badanych oraz dochodów. Jeśli jesteśmy zainteresowani, czy istnieje jakaś grupa respondentów z wykształceniem wyższym, której dochody przekraczają dwukrotność średniej krajowej, to przydatne może być utworzenie takiej zmiennej jak krotność (jaką krotnością średniej krajowej jest dochód osoby badanej) oraz wyższe (np. zmienna o dwóch wartościach: 1 dla osób z wyższym wykształceniem, 0 dla pozostałych). W zależności od charakteru danych, pytań, na jakie staramy się znaleźć odpowiedzi oraz wyboru techniki statystycznej, z której chcemy skorzystać, będziemy korzystać z różnych możliwości tworzenia nowych zmiennych. W kolejnych paragrafach omówione zostaną trzy techniki tworzenia nowych zmiennych: obliczanie wartości, rekodowanie oraz zliczanie wystąpień. Ważne jest zdanie sobie sprawy z tego, że żadna z tych operacji nie prowadzi do zwiększenia ilości informacji na temat badanych osób, a jedynie pozwala przeformułować posiadane dane na bardziej zrozumiałe, czytelne, łatwiejsze do opisu itp.
Obliczanie wartości zmiennej na podstawie istniejących zmiennych
Przykładem zastosowania tej techniki w praktyce może być sytuacja wyliczania dochodu przypadającego na osobę w gospodarstwie domowym na podstawie informacji o dochodzie gospodarstwa domowego oraz ilości osób w gospodarstwie domowym. Zmienne, na których przechowywane są te wartości w zbiorze All.sav nazywają się odpowiednio income oraz hompop. Dla każdej z osób badanych, aby wyliczyć dochód przypadający na głowę mieszkańca gospodarstwa domowego, należy podzielić dochód danego gospodarstwa domowego przez ilość mieszkających tam osób. Aby wykonać tę operację dla wszystkich osób badanych jednocześnie, można wykorzystać opcję Oblicz wartości w menu Przekształcenia. Menu Przekształcenia jest dostępne w górnym pasku menu okna edytora danych (ani z okna edytora raportów, ani wykresów, ani poleceń to menu nie jest widoczne). Po wybraniu odpowiedniej opcji (Przekształcenia → Oblicz wartości) ukazuje się na okienko dialogowe:
W okienku Zmienna wynikowa należy wpisać nazwę nowej zmiennej, która pojawi się w edytorze danych i będzie zawierać wyliczone wartości. Po prawej stronie okna, na górze, znajduje się miejsce na wpisanie wyrażenia, na podstawie którego wyliczane mają być nowe wartości. W naszym przykładzie tym wyrażeniem byłoby income/hompop (dla każdej z osób wyliczamy wartość dochodu przypadajacego na głowę mieszkańca dzieląc całkowity dochód gospodarstwa domowego, income, przez liczbę mieszkańców, hompop). Możliwe jest wpisanie tego wyrażenia bezpośrednio do okna Wyrażenie numeryczne, albo przerzucanie nazw zmiennych ze znajdującej się w lewej, dolnej części okna nazw zmiennych oraz wykorzystywanie symboli znajdującej się na centralnie umieszczonej klawiaturze. Ta druga metoda jest bezpieczniejsza jeśli nie zna się dobrze nazw zmiennych z aktywnego zbioru danych. W przypadku jakichkolwiek odstępstw od nazw istniejących w zbiorze zmiennych, SPSS nie będzie w stanie wykonać żadnych operacji. W prawej, środkowej części okna znajduje się również lista dostępnych funkcji, bardziej złożonych niż pojedyncze operacje dodawania, dzielenia itp. Gdyby, z jakiegoś powodu, zależało nam na wyliczeniu zmiennej jako sinusa innej (na przykład zmiennej hompom), to należało by na liście funkcji znaleźć funkcję SIN(rad), przerzucić ją do górnego okna Wyrażenia numerycznego, a następnie przerzucić zmienną hompop jako argument tej funkcji. Podobnie jak w przypadku samych nazw zmiennych, możliwe jest wpisywanie nazw funkcji bezpośrednio w oknie wyrażenia numerycznego. Aby wyznaczyć interesujące nas wartości należy jeszcze wpisać nazwę nowej zmiennej - w tym wypadku niech będzie to na_głowe. W tej sytuacji nowa zmienna będzie wyliczona na podstawie wzoru: na_glowe=income/hompop. Po zaakceptowaniu wprowadzonych parametrów (kliknięcie OK), w zbiorze danych, na końcu pojawi się nowa zmienna na_glowe. Należy sobie zdawać sprawę z tego, że wartość dochodu na głowę jest możliwa do wyznaczenia jedynie w przypadku, gdy wszystkie zmienne wyszczególnione w oknie wyrażenia numerycznego przyjmują wartości (nie ma braków danych) oraz są dopuszczalne z punktu widzenia przekształceń, jakich się wymaga (nie można na przykład dzielić przez 0, więc jeśli w jakimś przypadku zmienna homop, która występuje w mianowniku wyrażenia byłaby równa 0, działanie nie mogłoby zostać wykonane). Dla tych przypadków w zbiorze danych, które spełniały wymienione wyżej warunki, na nowej zmiennej (na_glowe) pojawi się wyliczona na podstawie wzoru wartość. Jeśli natomiast z jakichkolwiek powodów wyliczenie wartości nie było możliwe, na zmiennej wynikowej pojawi się systemowy brak danych (czyli przecinek zamiast wartości liczbowej).
Ostatnią z opcji, jakie można wykorzystać w przypadku obliczania wartości, jest wykorzystanie opcji Jeżeli. Najpierw zapoznamy się z przypadkiem, w którym skorzystanie z tej opcji będzie uzasadnione. Przypuśćmy, że dysponujemy danymi medycznymi, powiedzmy z badań krwi. Wiadomo również jaka jest płeć osoby badanej. Chcemy zidentyfikować osoby badane, które cierpią na niedobór lub nadmiar pewnego typu krwinek. Załóżmy również, że norma tego typu krwinek dla kobiet wynosi 800 - 1000, natomiast dla mężczyzn 1200 - 1400. Stworzenie zmiennych, które będą przechowywały informację, o ile mniej krwinek niż dolna granica normy lub o ile więcej niż górna granica normy ma każdy z pacjentów może ułatwić zdiagnozowanie przypadków niedoboru oraz nadmiaru krwinek. Jedno, co powinno być już w tej chwili oczywiste, to, że te zmienne muszą być inaczej wyznaczane dla kobiet, inaczej dla mężczyzn (ponieważ dysponujemy innymi normami). Zajmijmy się najpierw tym, jak stworzyć zmienną nadmiar dla kobiet. Niech zmienna krwinki oznacza ilość interesującego nas typu krwinek. Stworzona przez nas zmienna nadmiar może mieć charakter zmiennej logicznej - będzie przyjmować wartość 1, jeśli występuje nadmiar (prawdziwe jest stwierdzenie, że krwinki>1000), oraz 0 jeśli nie mamy do czynienia z nadmiarem (zdanie krwinki>1000 nie jest prawdziwe). Oznacza to, że możemy zdefiniować nową zmienną dla kobiet za pomocą wyrażenia: krwinki>1000. Odpowiednio dla mężczyzn: krwinki>1400. Wiemy już jak określić tworzenie nowych wartości, teraz pozostaje jedynie nauczenie komputera, dla której grupy osób badanych ma stosować który wzór. Zacznijmy od wyliczenia odpowiednich wartości dla kobiet. W oknie Oblicz wartości wpisujemy odpowiednio:
Kolejnym zadaniem jest zastosowanie tego wzoru jedynie dla kobiet. W tym celu należy wejść do opcji Jeżeli, a następnie zdefiniować, jaki warunek musi być spełniony, aby stosować ten wzór (w tym wypadku tym warunkiem jest bycie kobietą). Przechodzimy wtedy do kolejnego okna dialogowego, gdzie automatycznie wybrana jest opcja `Uwzględnij wszystkie obserwacje', co w naszym przypadku nie jest prawdą - chcemy dokonać pewnej operacji jedynie dla kobiet. Wybieramy zatem drugą możliwość `Uwzględnij, jeśli obserwacja spełnia warunek'. Po tym wyborze uaktywnia się znajdujące się poniżej pole, gdzie należy wpisać warunek bycia kobietą. W tym wypadku zmienną, na której przechowywana jest informacja o płci osoby badanej jest zmienna sex, a kod 2 jest przypisany do kobiet.
Aby zaakceptować ten wybór klikamy `Dalej' i powracamy do poprzedniego okna. Po wprowadzeniu warunku na wybór obserwacji, dla których ma być zastosowany wzór, na prawo od klawisza `Jeżeli' powinien się pojawić warunek sex = 2 . Teraz wystarczy jedynie kliknięcie OK. W wyniku przeprowadzenia tej operacji w zbiorze danych pojawi się nowa kolumna o nazwie nadmiar, a w niej wartości 0 lub 1 dla kobiet. W wierszach odpowiadających mężczyznom pojawią się systemowe braki danych (przecinki w zbiorze danych). Kolejnym krokiem jest wyliczenie odpowiednich wartości dla mężczyzn. Ponownie należy wejść do menu Przekształcenia, wybrać opcję Oblicz wartości, a następnie zmodyfikować wzór tak, aby był odpowiedni dla mężczyzn (krwinki > 1400) i w oknie `Jeżeli' wprowadzić warunek na wybór mężczyzn (w tym przypadku sex = 1). Ponowne wykonanie obliczania wartości zmiennej nadmiar spowoduje przeliczenie wartości tej zmiennej dla mężczyzn (do tej pory były to jedynie braki danych, teraz zostaną zastąpione odpowiednimi wartościami). Przeliczenie wartości zarówno dla kobiet jak i mężczyzn może jednak pozostawić w pewnych przypadkach braki danych - jest to możliwe jeśli dla jakiejś osoby nie było wartości zmiennej krwinki. Dla pewności, że wszystkie opisane operacje są dobrze zrozumiane, prześledźmy tabelę:
sex |
płeć |
krwinki |
po przeliczeniu nadmiar = krwinki>1000 Jeżeli sex = 2 |
po przeliczeniu nadmiar = krwinki > 1400 Jeżeli sex = 1 |
1 |
mężczyzna |
1400 |
, |
0 |
1 |
mężczyzna |
1500 |
, |
1 |
2 |
kobieta |
900 |
0 |
0 |
1 |
mężczyzna |
1000 |
, |
0 |
2 |
kobieta |
1100 |
1 |
1 |
2 |
kobieta |
1200 |
1 |
1 |
, |
? |
1100 |
, |
, |
1 |
mężczyzna |
, |
, |
, |
2 |
kobieta |
800 |
0 |
0 |
W pierwszej kolumnie znajdują się wartości zmiennej SEX, w następnej jej opis (w SPSS tej kolumny nie będzie), w trzeciej kolumnie są wartości zmiennej KRWINKI, a w dwóch kolejnych wartości tworzonej zmiennej nadmiar po pierwszym przeliczeniu oraz jak ona będzie wyglądać po wykonaniu drugiego obliczenia. Jak widać, po pierwszym obliczeniu pojawiają się wartości jedynie w tych wierszach, w których zakodowane są informacje dotyczące kobiet. Po wykonaniu drugiej tury obliczeń wyniki dla kobiet nie ulegają zmianie (bo te obserwacje nie spełniają warunku wyboru danych do obliczeń), natomiast pojawiają się dodatkowe dane dla mężczyzn. Ważne jest również to, że pozostają jednak dwa przypadki braków danych - jeden z nich związany jest z brakiem informacji o płci osoby badanej, wobec czego ta obserwacja nigdy nie została wybrana (ani do obliczeń dla kobiet ani dla mężczyzn), w drugim przypadku mamy do czynienia z brakiem danych na temat ilości krwinek. Wiadomo, który wzór zastosować (dla mężczyzn), ale nie ma informacji na podstawie których można wyznaczyć odpowiednią wartość zmiennej nadmiar.
Rekodowanie zmiennych
Kolejną z często stosowanych technik jest rekodowanie zmiennych. Jak zwykle, zaczniemy od przykładu. Przypuśćmy, że pytamy osoby badane o stopień zadowolenia z pracy i pozwalamy osobom badanym generować odpowiedź spontanicznie, a nie (jak to zwykle ma miejsce w przypadku sondaży) wybierać spośród proponowanych odpowiedzi. Załóżmy również, że po zebraniu wszystkich danych okazało się, że udzielono następujących odpowiedzi, które zostały kodowane kolejnymi liczbami naturalnymi:
1
2
3
4
5
6
7
8
9
jestem bardzo zadowolony/a z mojej pracy
chętnie bym się zwolnił, ale nie mam dokąd pójść
pracuję dopiero od tygodnia
nie lubię swojej pracy
już od rana nie mogę się doczekać końca dnia
nie narzekam
nie jest najgorzej
super!
nie chcę o tym mówić
W tym przypadku operowanie informacją jest utrudnione z dwóch powodów - 1) odpowiedzi osób badanych nie zostały uporządkowane w żaden sensowny sposób, 2) niektóre kategorie są bardzo do siebie podobne i niepotrzebnie zostały potraktowane jako odrębne. W związku z tym można pomyśleć o pokategoryzowaniu wszystkich pojawiających się odpowiedzi w kilka grup:
1
2
3
4
5
9
bardzo zadowolony
zadowolony
bez wyraźnej opinii
niezadowolony
bardzo niezadowolony
brak danych.
Oczywiście jest to tylko jedna z możliwych sensownych propozycji. Wybór nowych kategorii często jest wynikiem subiektywnych opinii autora analizy. Kolejnym obarczonym subiektywizmem zadaniem jest przyporządkowanie opinii osób badanych (nazwiemy je później wartościami zmiennej opinia) do poszczególnych kategorii (utworzona zostanie zmienna o nazwie zadowol). Poniżej zamieszczony jest przykładowy schemat przyporządkowania:
zmienna opinia
jestem bardzo zadowolony/a z mojej pracy
chętnie bym się zwolnił, ale nie mam dokąd pójść
pracuję dopiero od tygodnia
nie lubię swojej pracy
już od rana nie mogę się doczekać końca dnia
nie narzekam
nie jest najgorzej
super!
nie chcę o tym mówić
zmienna zadowol
bardzo zadowolony
zadowolony
bez wyraźnej opinii
niezadowolony
bardzo niezadowolony
brak danych
Jeśli te same informacje zapiszemy w analogicznym schemacie, ale wykorzystując wartości przypisane odpowiednim kategoriom odpowiedzi, to otrzymamy następujący schemat rekodowania:
opinia zadowol
1
5
3
4
4
2
1
9
W powyższym przykładzie na podstawie wartości zmiennej opinia stworzona została zmienna zadowol przy czym rekodowanie wartości odbywało się według powyższego schematu. Aby wykonać to działanie przy użyciu SPSS-a, należy wybrać z menu Przekształcenia (koniecznie z edytora danych, w pozostałych oknach ta opcja menu jest niewidoczna) opcję Rekoduj, a następnie Na inne zmienne.
Po wyborze tej opcji otwiera się nowe okno dialogowe z możliwością wyboru zmiennej, która będzie traktowana jako źródłowa (w opisanym wyżej przykładzie byłaby to zmienna opinia). Lista wszystkich zmiennych w aktywnym zbiorze danych jest wyświetlana po lewej stronie okna. Wybór odpowiedniej z nich odbywa się przez podświetlenie interesującej nas nazwy zmiennej w lewej części okna (przez kliknięcie lewym przyciskiem myszy na tej nazwie), a następnie przerzucenie jej do prawej części okna (przez kliknięcie lewym przyciskiem myszy na strzałkę znajdującą się w środkowej części okna). Po wykonaniu tych czynności nazwa wybranej zmiennej oraz strzałka i znak zapytania pojawiają się w podświetlonym pasku w oknie `Zmienna numeryczna → wynikowa:'
W tym momencie możliwe jest już wybranie nazwy dla zmiennej, która powstanie w wyniku rekodowania (w przykładzie omówionym wcześniej byłaby to zmienna zadowol). Wybraną nazwę należy wpisać w części okna poświęconej zmiennej wynikowej, w pasku Nazwa. W tym momencie istnieje także możliwość przypisania etykiety (dokładniejszego opisu nowo tworzonej zmiennej) - w naszym przypadku etykietą może być na przykład informacja `zadowolenie z własnego miejsca pracy'. W następnej kolejności, aby zatwierdzić nazwę oraz etykietę nowej zmiennej, należy kliknąć na przycisk `Zmień'. Bezpośrednio obserwowalną konsekwencją tego działania jest pojawienie się nowej nazwy w podświetlonym pasku; zamiast znaku zapytania znajdzie się tam wprowadzona nazwa. W tym momencie komputer „wie”, że ma zarezerwować nową kolumnę w macierzy danych i nazwać ją zgodnie z wyborem użytkownika. Zasadnicza część procesu rekodowania zmiennych, czyli podanie reguły, które z wartości zmiennej źródłowej (opinia) mają zostać zrekodowane na jakie wartości zmiennej wynikowej (zadowol), odbywa się po wejście do kolejnego okna dialogowego po kliknięciu przycisku `Wartości źródłowe i wynikowe'. Pojawiające się wówczas okno jest podzielone na trzy części - lewa strona dotyczy wyłącznie wartości zmienej źródłowej (opinia), górna część prawej strony wartości zmiennej wynikowej (zadowol), zaś dolna część prawej strony okna jest zarezerwowana na informację o tym, jakie zasady rekodowania już zostały wprowadzone. W pierwszym kroku wprowadzimy informację, że dla wszystkich osób, które na zmiennej opinia miały wpisaną wartość 1 (`jestem bardzo zadowolony/a z mojej pracy'), na zmiennej zadowol ma otrzymać również wartość 1 ( co będzie rozumiane jako `bardzo zadowolony'). Aby wprowadzić te informacje, w lewej części okna należy wybrać opcję `wartość' (rekodowana jedynka jest pojedynczą wartością, nie mamy w tym wypadku do czynienia ani z kodem braku danych, ani z całym przedziałem wartości), w uaktywnionym pasku po prawej stronie wpisujemy `1' i przechodzimy do prawej strony okna, żeby wprowadzić wartość, na jaką ta kategoria ma zostać zrekodowana. W tym wypadku na zmiennej wynikowej ma się pojawić również wartość `1'. W momencie wpisania jedynki w prawej części okna, na dole uaktywnia się przycisk `Dodaj'. Jego naciśnięcie powoduje pojawienie się pierwszej linii schematu rekodowania w dolnej prawej części okna (1→1) oraz wyczyszczenie pozostałych części okna. Można teraz wprowadzić kolejne informacje - chcemy, aby odpowiedzi `chętnie bym się zwolnił, ale nie mam dokąd pójść', czyli wartości 2 na zmiennej opinia zostały zrekodowane w kategorię `bardzo niezadowolony', czyli wartość 5 na zmiennej zadowol. Wpisujemy zatem 2 w pasku `wartość' po stronie zmiennej źródłowej oraz 5 po stronie wartości zmiennej wynikowej, a następnie dodajemy ten fragment kodu. Analogicznie postępujemy z pozostałymi wartościami. Ważne jest, aby wszystkie wprowadzone zasady rekodowania dodawać do listy rekodowania. Po zakończeniu tego procesu klikamy na przycisk `Dalej', co powoduje powrót do pierwszego okna dialogowego rekodowania zmiennych. W naszym przykładzie wystarczy teraz zatwierdzić wprowadzone zasady klikając na OK (które powinno teraz zostać uaktywnione). Wykonanie tych operacji prowadzi do pojawienia się w zbiorze danych kolejnej kolumny z nazwą zadowol.
Podobnie, jak w przypadku opcji `Oblicz wartości' w oknie dialogowym rekodowania zmiennych znajduje się przycisk `Jeżeli' - jego działanie jest takie samo, jak w omówionym wcześniej przypadku.
W wielu przypadkach, szczególnie jeśli zmienna źródłowa ma charakter przedziałowy, a więc jej wartości są zliczane w pewnych jednostkach, schemat rekodowania dotyczy raczej przedziałów wartości niż pojedynczych wartości. Przykładem mogą być dane medyczne, którymi posługiwaliśmy się jako przykładem przy omawianiu opcji `Oblicz wartości'. Jeśli chcielibyśmy stworzyć zmienną nadmiar korzystając z rekodowania, zamiast obliczania wartości, schemat (dla kobiet) wyglądałby następująco:
krwinki nadmiar
przedział od 0 do 999 0
przedział od 1000 w górę 1.
Wszystkie wyniki poniżej krytycznej wartości 1000 (czyli cały przedział od minimalnej możliwej do uzyskania wartości do 999) oznaczają, że u badanej osoby nie stwierdzono nadmiaru krwinek badanego rodzaju (zatem na zmiennej nadmiar zgodnie z przyjętą konwencją powinna pojawić się wartość 0). Natomiast wyniki 1000 lub więcej krwinek są klasyfikowane jako nadmiar, co odpowiada wartości 1 na zmiennej wynikowej nadmiar. Aby stworzyć nową zmienną zgodnie z tymi zasadami wykorzystując opcję rekodowania, można wprowadzać kolejno zasady dotyczące pojedynczych wartości (0 → 0, 1 → 0, 2 → 0, 3 →0,...
... 997 → 0, 998 → 0, 999 → 0, 1000 → 1, 1001 → 1, 1002 → 1, .... itd.), ale było by to dosyć pracochłonne zajęcie. Ten sam efekt można uzyskać wykorzystując możliwość rekodowania całych przedziałów wartości jednocześnie. W tym celu, zamiast wybierać opcji `wartość' w oknie rekodowania wartości źródłowych na wynikowe, należy wybrać odpowiednią opcję z przedziałami.
Do wyboru są trzy możliwości:
Zakres od ___ do ____
Zakres od najmniejszej do ___
Zakres od ___ do największej.
Pierwszą z możliwości (Zakres od ___ do ____) wykorzystuje się, jeśli znane są obie granice przedziałów (np. wiadomo, że norma dla liczby krwinek to przedział od 850 do 1000 krwinek). Drugą z nich (Zakres od najmniejszej do ___) w sytuacji, gdy znana jest jedynie górna granica (tak się dzieje w przypadku, gdy wiemy jedynie, że mamy do czynienia z nadmiarem, jeśli liczba krwinek przekracza 1000); w tym wypadku wszystkie wartości mniejsze od wpisanej górnej granicy przedziału będą traktowane jednakowo w procesie rekodowania. Najmniejsza wartość, do której zostanie zastosowana procedura jest ustalana automatycznie przez komputer - można powiedzieć, że w danej chwili komputer „ogląda” wartości przechowywane w kolumnie zmiennej źródłowej i ustala, jaka jest najmniejsza występująca tam wartość, a następnie wszystkie, począwszy od najmniejszej do górnej, podanej przez użytkowanika wartości, rekoduje zgodnie z podanych schematem. Z analogiczną sytuacją mamy do czynienia w przypadku opcji `Zakres od ___ do największej' z tą różnicą, że teraz automatycznie ustalana jest górna granica przedziału rekodowania; dolna jest podawana przez użytkownika. Aby rozwiać potencjalne nieporozumienia, przyjrzyjmy się możliwemu schematowi rekodowania zmiennej krwinki w zmienną nadmiar.
krwinki nadmiar
Zakres od najmniejszej do 999 0
Zakres od 1000 do największej 1.
Jeśli więcej niż jedna zmienna ma być rekodowana według tego samego schematu, możliwe jest przerzucenie do prawego okna wszystkich zmiennych źródłowych jednocześnie, podanie nazw zmiennych wynikowych, a następnie zdefiniowanie wspólnego schematu rekodowania. Po wykonaniu takiego złożonego polecenia w zbiorze danych pojawi się jednocześnie kilka nowych zmiennych.
Podczas definiowania schematu rekodowania oprócz opcji podawania wartości bądź ich zakresów możliwe jest także wybranie opcji braków danych - systemowych bądź zdefiniowanych przez użytkownika.
Ponadto, jeśli z jakichś powodów uznaje się, że zmienna została źle zakodowana (np. wartości zmiennej mogły zostać uporządkowane tak, aby skala pomiaru miała charakter porządkowy, ale z powodu niespójnego kodowania można ją uważać jedynie za nominalną itp.), można zmienić jej kodowanie korzystając z rekodowania na tę samą zmienną (Przekształcenia → Rekoduj → Na te same zmienne). Należy jednak koniecznie pamiętać o tym, że w tej sytuacji zmienna źródłowa zostanie bezpowrotnie stracona, zatem ten rodzaj operacji wymaga szczególnej uwagi i zdawania sobie sprawy z tego, co się robi, jeśli nie chce się utracić danych.
Zliczanie ilości wystąpień konkretnych wartości
Ostatnią z omawianych tu technik tworzenia nowych zmiennych jest metoda zliczania ilości wystąpień konkretnych wartości pojawiających się na wybranych zmiennych. Dla ułatwienia zrozumienia, co się kryje za tą metodą, posłużmy się kolejnym przykładem. Rozpatrzmy sytuację, w której badacz jest zainteresowany, czy u osób badanych pojawiają się objawy zmian osobowościowych. W tym celu osobom badanym zadawane są pytania:
Czy Twoi bliscy mówią Ci, że ostatnio zmieniło się Twoje zachowanie?
Czy masz wrażenie, że jesteś inną osobą, niż byłeś kilka lat temu?
Czy w centrum Twojego zainteresowania pojawiły się zupełnie nowe rzeczy?
Załóżmy również, że osoby badane miały odpowiadać na te pytania używająć następującej skali:
nie, nic takiego nie ma miejsca
tak, ale dzieje się tak bardzo rzadko
tak, obserwuję to dosyć często
prawie bez przerwy obserwuję takie zjawisko.
Dane dotyczące tych odpowiedzi zostały zakodowane na zmiennych bliscy, inny oraz interes. Jeśli chcemy stworzyć kwestionariusz do badania natężenia zmian osobowości, możemy zakodować odpowiedzi osób badanych tak, że odpowiedziom a) przypisujemy 0, odpowiedziom b) wartość1, odpowiedziom c) wartość 2, a odpowiedziom d) wartość 4. Im więcej punktów w sumie uzyska osoba badana, tym silniej zarysowują się u niej zmiany. Możemy być jednak zainteresowani na przykład jedynie tym, ile, spośród interesujących objawów, występuje u osób badanych. Wystąpienie objawu, niezależnie od jego natężenia, zostaje więc zakodowane jako którakolwiek z odpowiedzi b, c lub d. Wobec tego, jeśli chcemy policzyć, ile objawów ma każda z osób badanych, musimy sprawdzić, na ilu ze zmiennych bliscy, inny oraz interes występują odpowiedzi b, c lub d. Aby to zrobić automatycznie, należy wejść do menu Przekształcenia (jedynie z okna edytora danych) i wybrać `Zlicz wystąpienia'. Po takim wyborze otwiera się nowe okienko dialogowe:
W pasku `Zmienna wynikowa' należy wpisać nazwę nowej zmiennej, na której w naszym wypadku będzie przechowywana informacja o ilości zdiagnozowanych u osoby badanej objawów - nazwijmy tę zmienną na przykład zmiany. Obok można wpisać od razu etykietę zmiennej wynikowej (np. `Ilość objawów zmian osobowościowych'). Do okna `Zmienne' należy przerzucić wszystkie zmienne, na których chcemy zliczać wystąpienia interesujących nas wartości. W tym przypadku będą to trzy zmienne: bliscy, inny oraz interes. Po tych podstawowych działaniach pozostaje jeszcze zdefiniować, jakie wartości mają być zliczane - w tym celu należy kliknąć na przycisk `Definiuj wartości'.
Okienko jest bardzo podobne do tego, które znamy z procedury rekodowania. W naszym przykładzie chcemy zliczać wystąpienia którejkolwiek z wartości b, c lub d (albo 1, 2, 3 jeśli odpowiedzi zostały od razu zakodowane w typie numerycznym) i takie wartości należy sukcesywnie wpisywać w okienku paska wartości, a następnie dodawać do listy wartości do zliczenia. Po wprowadzeniu wszystkich interesujących wartości (bądź ich przedziałów albo braków danych) należy wyjść z okienka akceptując wprowadzone zmiany przyciskiem `Dalej', a następnie OK w głównym oknie. Prześledźmy teraz, jakie wyniki powinny się pojawić na zmiennej wynikowej (zmiany) u poszczególnych osób badanych, których odpowiedzi na zadane pytania (bliscy, inny, interes) przedstawione są w poniższej tabeli:
bliscy |
inny |
interes |
zmiany |
a |
a |
a |
0 |
a |
c |
b |
2 |
b |
a |
|
1 |
c |
d |
b |
3 |
|
|
|
0 |
a |
a |
b |
1 |
Jak widać, na zmiennej wynikowej, zmiany, nie pojawiły się nigdzie braki danych, nawet, jeśli takie braki pojawiły się na zmiennych źródłowych. Wartości zmiennej zmiany wahają się od 0 (na żadnej ze zmiennych nie pojawiła się żadna z wyszczególnionych wartości) do 3 (na wszystkich trzech wskazanych zmiennych wartości pochodzą z listy wartości zliczanych). Ponieważ braki danych nie znalazły się na liście zliczanych wartości, są one traktowane tak samo jak jakiekolwiek wartości nie podlegające zliczaniu.
Warto w tym momencie rozważyć kolejny przykład. Dla odmiany przyjrzyjmy się sytuacji, w której na kolejnych zmiennych będą zbierane informacje o tym, czy student poprawnie (wpisywana będzie wówczas wartość 1), czy niepoprawnie (wartość 0) odpowiedział na pytanie w teście. Jeśli w ogóle nie została podjęta próba odpowiedzi - nie pojawiła się żadna odpowiedź - pozostawiamy brak danych na odpowiedniej zmiennej. Przypuśćmy, że test składał się z 30 pytań i w związku z tym mamy 30 zmiennych: pyt_1 do pyt_30. Jeśli chcemy się dowiedzieć, ile punktów otrzymał student, wystarczy zliczyć ilość wystąpień wartości `1' na wszystkich trzydziestu zmiennych - od pyt_1 do pyt_30. Interesująca może być również odpowiedź na pytanie, ile pytań zostało opuszczonych - w tym wypadku możemy zliczyć ilość wystąpień braków danych na zmiennych od pyt_1 do pyt_30. Jak poprzednio, na zmiennych wynikowych w żadnym z wypadków nie pojawią się braki danych, a wartości będą się teraz wahać od 0 do 30 (ilości zmiennych branych pod uwagę).
Aby podkreślić różnice między poszczególnymi metodami tworzenia zmiennych, porównajmy wyniki działania procedury zliczania oraz obliczania wartości w celu otrzymania informacji o ilości zdobytych punktów. Pierwszą z metod niech będzie metoda zliczania (zmienne: pyt_1, pyt_2, pyt_3, pyt_4, pyt_5, pyt_6, pyt_7, pyt_8, pyt_9, pyt_10; zliczanie wartości `1', czyli ilości wystąpienia kodów udzielenia poprawnej odpowiedzi). Drugą metodą niech będzie zwykłe dodawanie wartości z poszczególnych zmiennych, czyli korzystając z metody Oblicz wartości po wprowadzeniu wzoru:
Odpowiednie dane przedstawia poniższa tabela - w tym wypadku rozważamy test składający się z 10 pytań:
pyt_1 |
pyt_2 |
pyt_3 |
pyt_4 |
pyt_5 |
pyt_6 |
pyt_7 |
pyt_8 |
pyt_9 |
pyt_10 |
punkty (zliczanie wartości 1) |
punkty (suma wyników) |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
10 |
10 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
, |
9 |
, |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
9 |
9 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
, |
, |
, |
, |
, |
, |
, |
, |
, |
, |
0 |
, |
W pierwszym przypadku, kiedy na żadnej ze zmiennych nie pojawiły się braki danych, obydwie metody dają ten sam wynik - 10 punktów. Spójne wyniki uzyskujemy również w trzecim i czwartym przypadku, w żadym z nich nie ma braków danych. Natomiast pojawienie się chociaż jednego braku danych powoduje, że procedura obliczania wartości (tutaj sumy wartości dziesięciu zmiennych) w wyniku daje systemowy brak danych. W tej samej sytuacji zliczanie ilości wystąpień jedynek daje liczbowe wyniki. Która z tych metod jest lepsza? To zależy od tego, jak chcemy interpretować brak odpowiedzi na pytanie. Jeśli założymy, że brak odpowiedzi świadczy o braku niezbędnej wiedzy, wówczas brak danych powinien być traktowany na równi ze złą odpowiedzią i sensowne jest korzystanie z metody zliczania wartości. Jeśli natomiast uznajemy, że brak danych jest dowodem na to, że badany nie zapoznał się z pytaniem, możemy nie chcieć uwzględniać wyników uzyskanych przez taką osobę jako wiarygodnych - wówczas metoda `Oblicz wartości' ułatwia oddzielenie takich respondentów od tych, którzy udzielili odpowiedzi na wszystkie pytania.
12