Učitavanje već instaliranih paketa koje ćemo koristiti u analizi:

rm(list = ls()) # funkcija kojom čistimo radnu površinu

library('car') # Paket "car" ćemo koristiti za rekodiranje varijabli
library('psych') # Paket "psych" ćemo koristiti za prikazivanje mjera deskriptivne statistike
library('gplots') # Paket "gplots" ćemo koristiti za grafičku vizuelizaciju ANOVA testa

Učitavanje dio datoteke Crnogorske izborne studije 2016.

mnes <- read.csv("mnes_2016_ttest.csv")
dim(mnes)
[1] 1213    8
head(mnes)
     pol izl intg lr edu     rur efik      reg
1  Muski  Da    5  6   4 Ruralno   NA Sjeverna
2  Muski  Da    5 NA   4 Ruralno    4 Sjeverna
3 Zenski  Ne    4 NA   4 Ruralno    5 Sjeverna
4  Muski  Da    4 NA   4 Ruralno    4 Sjeverna
5 Zenski  Ne   NA NA   2 Ruralno   NA Sjeverna
6  Muski  Ne   NA NA   2 Ruralno   NA Sjeverna

Baza podataka sadrži informacije o ispitanicima i njihovim političkim preferencijama:

Istraživačka pitanja:

Napomena: Kada izvodimo test ili analizu u R, rezultati se čuvaju u objekat modela, koji je u osnovi lista (lista) sastavljena od različitih vrsta informacija o vašoj analizi. Obično sadrži sve što je bilo potrebno za pokretanje analize, od podataka do rezultata. Ako je potrebno nešto uraditi s rezultatima, a ne ih samo pregledati, trebali bi znati kako baratati objektom modela i kako iz njega izvući ono što želite.

T-test

U situaciji u kojoj istraživač želi ispitati vezu između dvije varijable, od kojih je nezavisna varijable kategorička a zavisna intervalna, potrebno je primijeniti set odgovarajućih statističkih metoda.

Najosnovnija i često potcijenjena tehnika korišćena u ovim situacijama je T-test, koji nam govori jesu li vrijednosti varijable statistički različite za dvije grupe obzervacija. To je vrlo jednostavan test, koji se najviše koristi u eksperimentalnom okruženju, gdje se ispitanici nasumično raspoređuju po tretmanu i kontrolnoj grupi. Ipak, T-testove možemo koristiti i u bilo kojem kontekstu đe imamo kategoričku varijablu sa dvije grupe (kategorije) i intervalnu varijablu koja nas zanima u pogledu moguće razlike između grupa.

Postoje razne verzije T-testa, zavisno o toga kako je studija dizajnirana: dizajn između grupa i dizajn unutar grupe. U prvom slučaju koristili bi T-test nezavisnih uzoraka, a u drugome t-test uparenih uzoraka.

Recimo da želimo znati razlikuju li se muškarci i žene po pitanju stepena obrazovanja. Tome nam može poslužiti T-test nezavisnih uzoraka, jer bi u tom slučaju bili zainteresovani za razlike između dvije potpuno zasebni podgrupe uzorka (muškarce i žene). Ako bi, kojim slučajem, željeli ispitati da li postoji razlika među istom rodnom grupom, prije ili nakon nekog događaja (tretmana), onda bi koristili T-test uparenih uzoraka. Dakle, i prije i poslije tretmana bi se analiza radila na istoj grupi.

Kako definišemo nultu hipotezu kada koristimo T-test?

T-test nezavisnih uzoraka

U R-u se T-test implementira koristeći funkciju t.test(). Kao prva dva argumenta trebate pružiti dva vektora vrijednosti podataka koji predstavljaju zavisnu varijabu za dvije grupe koje upoređujemo. Takođe, R prihvata unos argumenata u obliku formule, koju ćemo kasnije koristiti i za linearne regresije. Lijeva i desna strana formule odvojene su znakom ~. Lijeva strana predstavlja zavisnu varijablu, dok u desnoj strani formule određuje varijabla na osnovu koje se određuje pripadnost grupi. Ako koristite specifikaciju testa kroz formulu, tada takođe morate reći R-u koji ću datetoku koristiti s argumentom data.

Sada ćemo koristeći oba načina specifikacije provjeriti testirati neke od hipoteza u vezi sa istraživačkim pitanjima. Sačuvaćemo rezultate testa u objekat modela koji se zove ttest1.

Specifikovanje T-testa koristeći formulu izgleda ovako:

ttest1 <- t.test(edu ~ pol, data = mnes)
ttest1

    Welch Two Sample t-test

data:  edu by pol
t = -0.083219, df = 1072, p-value = 0.9337
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.2156189  0.1980735
sample estimates:
 mean in group Muski mean in group Zenski 
            4.520528             4.529301 

Ukoliko bi htjeli iskoristi drugi način, koji znači bukvalno razdvajanje dvije datotetka u dva zasebna poduzorka, onda bi to mogli uraditi na sljedeći način:

mnes_z <- subset(mnes, pol=="Zenski") # kreiranje poduzorka ispitanika ženskog pola
mnes_m <- subset(mnes, pol=="Muski") # kreiranje poduzorka ispitanika muškog pola

ttest11 <- t.test(mnes_z$edu, mnes_m$edu)
ttest11

    Welch Two Sample t-test

data:  mnes_z$edu and mnes_m$edu
t = 0.083219, df = 1072, p-value = 0.9337
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.1980735  0.2156189
sample estimates:
mean of x mean of y 
 4.529301  4.520528 

Dobili smo isti rezultat, iako preferiramo korišćenje prvog metoda (formule) zbog jednostavnosti koda.

U rezultatima možemo viđeti vrijednost testne statistike t = 0.08 i nivo pouzdanosti p-value = 0.93. To su dvije najvažnije informacije. Ako je p-vrijednost testne statistike ispod određenog praga koji smo postavili (obično 0,05), tada možemo odbiti nultu hipotezu i prihvatiti alternativnu hipotezu da prava razlika u aritmetičkim sredinama nije jednaka 0. Također možemo pogledati interval povjerenja i aritmetičku sredinu za dvije grupe. U ovom slučaju nema razlike između muškaraca i žena u pogledu obrazovanja.

Šta je sa razlikom između apstinenata i nivoom političke efikasnosti?

ttest2 <- t.test(efik ~ izl, data = mnes)
ttest2

    Welch Two Sample t-test

data:  efik by izl
t = 7.6231, df = 194.07, p-value = 1.073e-12
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 0.7548956 1.2818429
sample estimates:
mean in group Da mean in group Ne 
        4.109278         3.090909 

U ovom slučaju možemo vidjeti da je p-vrijednost testne statistike ispod 0,05, a interval povjerenja ne sadržo 0, već se kreće od 0.75 (donji interval) i 1.28 (gornji interval). Aritmetička sredina političke efikasnosti među apstinentima je 3.09 dok je sredina kod onih koji su izašli na birališta 4.10. Na osnovu ovoga možemo biti sigurni da je razlika u političkoj efikasnosti među apstinentima i glasačima dovoljno velika da nije mogla nastati kao rezultat slučajnosit. Apstinenti imaju niži nivo spoljašnje političke efikasnosti.

Napomena: Kada se tumači p-vrijednosti i statistička značajnost, uvijek je važno imati na umu da statistička značajnos zavisi od veličine uzorka. Ovđe je dovoljno śetiti se da je formula za standardnu grešku standardna devijacija uzorka podijeljena s kvadratnim korijenom veličine uzorka. Dakle, što je veća veličina uzorka, to je manja standardna greška. Stoga je uvijek važnije obratiti pažnju na suštinski značaj, a ne samo statistički. Da imamo hiljade ispitanika i da razlika samo jedan centimetar, onda bi i to vjerovatno bilo statistički značajno, ali suštinski prilično besmisleno - biste li rekli da se dvoje ljudi čija se visina razlikuje za jedan centimetar zaista bitno razlikuju u pogledu svoje visine?

Ukoliko želimo da testiramo odnos između obrazovanja i ideološke pozicije pojedinaca to možemo uraditi koristeći T-test, ukoliko nezavisnu varijablu svedemo na dvije kategorije. Iz tog razloga, prvo ćemo rekodirati varijablu obrazovanja tako da jedna kategorija budu oni koji imaju zavšen fakultet ili više, o ostali druga kategorija obrazovnja.

mnes$edu_d <- recode(mnes$edu, "1:6 = 0; 7:hi=1")
ttest3 <- t.test(lr ~ edu_d, data = mnes)
ttest3

    Welch Two Sample t-test

data:  lr by edu_d
t = 1.2212, df = 192.71, p-value = 0.2235
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.2601227  1.1058358
sample estimates:
mean in group 0 mean in group 1 
       5.461024        5.038168 

Na osnovu testa možemo zaključiti da iako u prosjeku ispitanici sa završenim fakultetom ili više zauzimaju pozicije bliže centru (5.03) u odnosu na nešto više desno orijentisanu drugu kategoriju (5.46), ova razlika nije statistička značajna (p=0.22).

Da li bi dobili isti rezultat ukoliko bi drugačije definisali kategorije obrazovanja?

T-test uparenih uzoraka

Korišćenje T-testa uparenih uzoraka u R vrši se na način veoma sličan prethodnom primjeru. Potrebno je unijetu izmjene koje se odnose na to koje varijable koristimo za grupisanje, kao i dodatni argument o tome da li da R tretira uzorke kao nezavisne ili kao uparene. To je moguće uraditi koristeći argument paired = TRUE. Kada su u pitanju anketna istraživanja, ova vrsta analize se posebno često koristi u slučaju panel studija. Jedina razlika je u tome što je potrebno kao nezavisnu varijablu specifikovati koji poduzorak je prikupljen prije a koji nakon tretmana.

ttest3 <- t.test(ZV ~ grupa, data = mnes, paired = TRUE)
ttest3

Koje još argumente možemo uključiti u funkciju t.test()?

Jednosmjerni ili dvosmjerni test?

ANOVA

Ponekad imamo posla s intervalnom zavisnom varijablom i kategoričkom nezavisnom varijablom s više od dvije kategorije. U tom slučaju, želimo izvršiti analizu varijanse koja će nam reći postoji li razlika između aritmetičkih sredina svih grupa. Ovaj test reći će nam da li se bilo koja od grupa bitno razlikuje od drugih, ali ne i koja. To moramo interpretirati na drugi način, nezavisno od samog statističkog testa. Slijedi jednostavna jednosmjerna analiza varijanse - s jednom zavisnom varijablom i jednom nezavisnom varijablom. Postoje mnoge druge verzije ANOVE, koje neće biti u fokusu ovog predavanja.

ANOVA se implementira u R s funkcijom aov() i u najjednostavnijem obliku je ista kao kod funkcije T-testa. Moramo definisati formulu i reći funkciji koju će bazu podataka koristiti.

Pretpostavimo da gledamo skup podataka o biračima i zanima nas je li su oni koji žive u ruralnim naseljima ideološki drugačiji od ostalih? Izveli bismo ANOVA i prikazali rezultate analize s funkcijom summary() ovako:

anova1 <- aov(lr ~ rur, data= mnes)
summary(anova1)
             Df Sum Sq Mean Sq F value   Pr(>F)    
rur           2    304  152.00   15.03 4.33e-07 ***
Residuals   577   5835   10.11                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
633 observations deleted due to missingness

Najvažnija informacija koju ovđe treba potražiti je vrijednost F i sa njom povezana vrijednost p (Pr (> F)). Ako je potonje manje od našeg praga za statističku značajnost (0.05), možemo zaključiti da postoji statistički značajna razlika između aritmetičkih sredina grupa.

U našem slučaju vrijednost je veoma blizu 0, što nam dopušta da odbacimo nulte hipoteze da nema razlike u aritmetičkim sredinama među kategorijama.

Rezultate možemo i vizuelno prikazati. Postoji mnogo načina za to, ovdje je najjednostavnije koristiti funkciju plotmeans() iz paketa gplots. Funkcija koristi isti skup argumenata koji bismo koristili za funkciju aov().

Isti kod za grafičko prikazivanje možemo koristiti iza T-test.

plotmeans(lr ~ rur, data= mnes)

Grafik nam pokazuje aritmetičku sredinu za grupe s odgovarajućim intervalima povjerenja. Možemo vidjeti da je interval povjerenja za jednu grupu takav da se ne preklapa s intervalom pouzdanosti za druge grupe.Dakle, test pokazuje statistički značajnu razliku između grupa.

Suštinski, ovđe test jasno ukazuje na statistički značajnu razliku, a to možemo vidjeti i ako pogledamo grafik aritmetičkih sredina. Ideološka pozicija onih koji žive u velikim gradovima je značajno bliža lijevom ideološkom bloku od onih koji žive na selu i predgradskim naseljima (ili malih gradovima).

Što ako pogledamo odnos u između tipa naselja i političke efikasnosti?

anova2 <- aov(efik ~ rur, data= mnes)
summary(anova2)
              Df Sum Sq Mean Sq F value Pr(>F)    
rur            2  122.4   61.18   37.34 <2e-16 ***
Residuals   1158 1897.3    1.64                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
52 observations deleted due to missingness

Shodno p-vrijednosti možemo zaključiti da postoji razlika između grupa naselja i vjerovanja da je važno ko je na vlasti. Međutim, kao što smo rekli ranije, ne možemo znati samo na osnovu testa odakle ta razlika dolazi. Zato ćemo se ponovo poslužiti grafikom.

plotmeans(efik ~ rur, data= mnes)

Napomena: prilikom tumačenja statističke i suštinske znalajnosti koristeći grafike, važno je obratiti pažnju na vrijednosti Y osi.

Provjerimo sada kakav je odnos između regije i izbornog integriteta i obrazovanja?

anova3 <- aov(intg ~ reg, data=mnes)
summary(anova3)
              Df Sum Sq Mean Sq F value   Pr(>F)    
reg            2   45.7  22.847   11.01 1.84e-05 ***
Residuals   1086 2253.2   2.075                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
124 observations deleted due to missingness
plotmeans(intg ~ reg, data=mnes)

anova4 <- aov(edu ~ reg, data=mnes)
summary(anova4)
              Df Sum Sq Mean Sq F value Pr(>F)    
reg            2   1045   522.7   221.1 <2e-16 ***
Residuals   1209   2859     2.4                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1 observation deleted due to missingness
plotmeans(edu ~ reg, data=mnes)

Ovđe takođe jasno vidimo da testovi ukazuju na statistički značajnu razliku između regiona po pitanju povjerenja u izborni integritet i nivo obrazovanja. Kako ovo možemo teorijski objasniti? Postoje li druge varijable koje još trebamo uzeti u obzir?