16  Deskriptivna statistika

17 Deskriptivna statistika

Zamislimo istraživačicu koja je upravo završila opsežno anketno istraživanje o medijskim navikama studenata komunikologije na trima hrvatskim sveučilištima. Prikupila je podatke od petsto ispitanika o dnevnom vremenu provedenom na društvenim mrežama, broju informativnih portala koje redovito prate, razini povjerenja u medije i nizu drugih varijabli. Pred njom je proračunska tablica s tisućama numeričkih vrijednosti raspoređenih u desetke stupaca i stotine redaka. Samo gledanje u tu masu podataka ne pruža nikakav uvid – nemoguce je razumjeti obrasce ili izvući zaključke iz sirovog skupa brojki. Potreban joj je sustav alata koji će tu masu informacija pretvoriti u razumljive i interpretabilne uvide. Upravo je to zadaća deskriptivne statistike, tj. skupa statističkih tehnika kojima se prikupljeni podaci sažimaju, organiziraju i prezentiraju na način koji omogućuje njihovo razumijevanje i komunikaciju.

Deskriptivna statistika razlikuje se od inferencijalne statistike po tome što ne pokušava donositi zaključke o široj populaciji na temelju uzorka, već jednostavno opisuje podatke koji su prikupljeni. Dok inferencijalna statistika, o kojoj će biti riječi u poglavlju 9, koristi uzorak da bi procijenila karakteristike populacije i testirala hipoteze, deskriptivna statistika fokusira se na pitanja poput toga koja je prosječna vrijednost u podacima, koliko su podaci raspršeni, postoje li neuobičajene vrijednosti te kakav je odnos između dviju varijabli. Odgovori na ova pitanja čine temelj svake statističke analize i nužni su preduvjet za bilo kakve naprednije analize. Može se reći da deskriptivna statistika predstavlja prvi korak u svakom istraživačkom procesu – bez solidnog poznavanja deskriptivnih tehnika, svaki pokušaj provođenja složenijih analiza bio bi nalik gradnji kuće bez temelja.

U kontekstu istraživanja masovne komunikacije, deskriptivna statistika ima posebnu važnost. Analiza gledanosti televizijskih programa, posjećenosti internetskih portala, angažmana na društvenim mrežama ili distribucije tema u medijskom sadržaju – sve ove aktivnosti zahtijevaju solidno poznavanje deskriptivnih tehnika. Istraživač koji ne razumije razliku između aritmetičke sredine i medijana može donijeti pogrešne zaključke o “tipičnoj” gledanosti programa. Analitičar koji ignorira standardnu devijaciju može propustiti uvid da je publika jednog portala konzistentna dok je publika drugog visoko varijabilna. Netko tko ne vizualizira podatke prije izračunavanja korelacije može propustiti nelinearni odnos koji Pearsonov koeficijent ne detektira. Stoga je ovladavanje tehnikama deskriptivne statistike nužan preduvjet za kompetentno istraživanje u području masovne komunikacije.

Ovo poglavlje organizirano je u četiri cjeline. U prvom dijelu obrađuju se mjere centralne tendencije – aritmetička sredina, medijan i mod – koje odgovaraju na pitanje koja je “tipična” ili “središnja” vrijednost u skupu podataka. Drugi dio posvećen je mjerama disperzije – rasponu, međukvartilnom rasponu, varijanci i standardnoj devijaciji – koje kvantificiraju koliko su podaci raspršeni oko središnje vrijednosti. Treći dio uvodi standardizirane rezultate i korelacije, tj. tehnike za usporedbu varijabli mjerenih na različitim skalama i za kvantificiranje odnosa između dviju varijabli. Konačno, četvrti dio obrađuje vizualizaciju podataka kao ključnu komponentu deskriptivne analize, uključujući histogram, box plot, dijagram raspršenja i stupčasti grafikon. Svaki od ovih alata demonstriran je na primjerima iz hrvatskog medijskog konteksta, uz prikaz konkretnih funkcija u statističkom programu R kojima se odgovarajući izračuni provode u praksi.

17.1 Mjere centralne tendencije

Mjere centralne tendencije statistički su pokazatelji koji iz mnoštva brojki izvlače jednu reprezentativnu vrijednost koja najbolje opisuje “središte” podataka. Zamislimo da urednica večernjeg Dnevnika HRT-a pregledava podatke o gledanosti svoje emisije tijekom jednog mjeseca. Vidi vrijednosti koje variraju od dana do dana – ponekad emisiju prati 320.000 gledatelja, ponekad 280.000, a vikendom brojka pada na oko 210.000. Pred njom je lista od trideset različitih brojki i potreban joj je način da te podatke sažme u nešto razumljivo. Želi odgovoriti na prividno jednostavno pitanje: kolika je “tipična” gledanost Dnevnika? Međutim, odgovor na to pitanje nije jednoznačan jer ovisi o tome kako definiramo pojam “tipično”. Postoje tri glavne mjere centralne tendencije koje se koriste u istraživanju medija, a to su aritmetička sredina, medijan i mod. Svaka od njih odgovara na pitanje “koja je tipična vrijednost” na različit način, a svaka ima svoje prednosti i nedostatke ovisno o vrsti podataka i o tome što se pokušava saznati.

17.1.1 Aritmetička sredina

Aritmetička sredina najpoznatija je mjera centralne tendencije, u svakodnevnom govoru poznata i kao “prosjek”. Izračunava se zbrajanjem svih vrijednosti i dijeljenjem s brojem opservacija. Označava se simbolom \(\bar{X}\) (čita se “iks bar”) i formalno se definira kao:

\[\bar{X} = \frac{1}{N}\sum_{i=1}^{N}X_i = \frac{X_1 + X_2 + ... + X_N}{N}\]

Drugim riječima, formula kaže sljedeće: potrebno je zbrojiti sve opažene vrijednosti i podijeliti ih s ukupnim brojem opažanja. Simbol \(\sum\) (velika grčka slova sigma) označava sumaciju, odnosno zbrajanje, a izraz \(\sum_{i=1}^{N}X_i\) doslovno znači “zbroji sve vrijednosti \(X_i\) počevši od \(i=1\) pa sve do \(i=N\)”. Student koji se prvi put susreće s ovom notacijom ne treba se obeshrabriti – radi se o formalnom zapisu onoga što intuitivno već razumije iz svakodnevnog iskustva.

Za primjer, pretpostavimo da su prikupljeni podaci o gledanosti Dnevnika HRT-a za jedan tjedan: 315.000 gledatelja u ponedjeljak, 298.000 u utorak, 322.000 u srijedu, 305.000 u četvrtak, 288.000 u petak, 245.000 u subotu i 218.000 u nedjelju. Prosječna gledanost iznosi:

\[\bar{X} = \frac{315.000 + 298.000 + 322.000 + 305.000 + 288.000 + 245.000 + 218.000}{7} = \frac{1.991.000}{7} \approx 284.429\]

U R-u se aritmetička sredina izračunava funkcijom mean(). Sljedeći primjer pokazuje kako se ovaj izračun provodi na konkretnim podacima o gledanosti i kako se rezultat vizualizira.

Code
# Podatci o gledanosti Dnevnika HRT-a (u tisućama)
dani <- c("Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned")
gledanost_hrt <- c(315, 298, 322, 305, 288, 245, 218)

# Izračun aritmetičke sredine
prosjek <- mean(gledanost_hrt)

df_gledanost <- data.frame(
  dan = factor(dani, levels = dani),
  gledanost = gledanost_hrt
)

ggplot(df_gledanost, aes(x = dan, y = gledanost)) +
  geom_col(fill = "gray40", color = "black", width = 0.7) +
  geom_hline(yintercept = prosjek, linetype = "dashed", linewidth = 1) +
  annotate("text", x = 6.5, y = prosjek + 12,
           label = paste("Prosjek =", round(prosjek, 1), "tisuća"),
           size = 3.5, fontface = "bold") +
  labs(
    title = "Gledanost Dnevnika HRT-a tijekom tjedna",
    x = "Dan u tjednu",
    y = "Gledanost (tisuće)"
  ) +
  ylim(0, 350)
Figure 17.1: Dnevna gledanost Dnevnika HRT-a s označenim prosjekom. Isprekidana horizontalna linija označava aritmetičku sredinu, tj. prosječnu gledanost tijekom tjedna. Uočljivo je da gledanost vikendima pada znatno ispod prosjeka, što utječe na ukupnu srednju vrijednost.

Prosječna gledanost Dnevnika tijekom analiziranog tjedna bila je približno 284.000 gledatelja. Ova brojka istraživaču medija daje brzu informaciju o općoj razini uspješnosti programa, omogućujući usporedbu s drugim tjednima ili konkurentskim programima. Međutim, ona ne govori ništa o konzistentnosti gledanosti – ne može se na temelju samog prosjeka zaključiti jesu li sve vrijednosti bile blizu te srednje vrijednosti ili su neke bile iznimno visoke a druge iznimno niske. Vidljivo je, primjerice, da značajna razlika između vikenda i radnih dana utječe na percepciju “tipične” gledanosti.

Aritmetička sredina ima važno svojstvo – predstavlja svojevrsno “težište” podataka. Ako se zamisli histogram podataka kao čvrst objekt, aritmetička sredina bila bi točka na kojoj bi se taj objekt mogao balansirati. U tom smislu, aritmetička sredina ima dublje matematičko značenje: to je vrijednost oko koje su podaci “centralizirani”, vrijednost od koje su ukupna odstupanja prema dolje i ukupna odstupanja prema gore u ravnoteži. Upravo ovo svojstvo čini je osjetljivom na ekstremne vrijednosti, tj. vrijednosti koje su neuobičajeno udaljene od ostatka podataka i koje se u statističkom žargonu nazivaju outlierima. Ako u podacima postoji jedan iznimno atipičan dan, primjerice dan kada je emitiran poseban prilog o nekom izuzetno praćenom događaju, ta vrijednost značajno utječe na prosjek. Aritmetička sredina koristi sve informacije koje postoje u podacima, ne zanemarujući nijednu opservaciju, što može biti velika prednost, ali istovremeno znači da je mjera osjetljiva na ekstremne vrijednosti koje možda ne reprezentiraju uobičajenu situaciju.

17.1.2 Medijan

Medijan je mjera centralne tendencije koja predstavlja srednju vrijednost kada se svi podaci poredaju od najmanjeg prema najvećem. Koncept medijana možda je još intuitivniji od aritmetičke sredine. Zamislimo podatke o dnevnom broju objava na Facebook stranici Jutarnjeg lista tijekom jednog tjedna: 12, 8, 15, 10, 9, 14 i 11 objava. Da bi se pronašao medijan, najprije je potrebno sortirati ove brojeve u rastući niz: 8, 9, 10, 11, 12, 14, 15. Sada je očito da je srednja vrijednost 11 objava, jer se ona nalazi točno u sredini – tri vrijednosti su manje od nje, a tri su veće.

Za razliku od aritmetičke sredine, medijan nije osjetljiv na ekstremne vrijednosti jer koristi samo informaciju o poziciji vrijednosti u sortiranom nizu, ne njihovu stvarnu veličinu. Medijan jednostavno “ignorira” koliko su ekstremne krajnje vrijednosti – on gleda samo koja vrijednost dijeli podatke na dva jednaka dijela.

Formalno, za skup od \(N\) opservacija sortiranih u rastući niz, medijan se definira na sljedeći način: ako je \(N\) neparan broj, medijan je vrijednost koja se nalazi na poziciji \((N+1)/2\); ako je \(N\) paran broj, medijan je prosjek dviju srednjih vrijednosti, tj. prosjek vrijednosti na pozicijama \(N/2\) i \((N/2)+1\). U ovom drugom slučaju, medijan nije nužno jedna od vrijednosti iz izvornog skupa podataka, već interpolirana vrijednost.

\[\text{Medijan} = \begin{cases} X_{(N+1)/2} & \text{ako je } N \text{ neparan broj}\\ \frac{X_{N/2} + X_{(N/2)+1}}{2} & \text{ako je } N \text{ paran broj} \end{cases}\]

U R-u se medijan izračunava funkcijom median(). Razmotrimo primjer s HRT Playerom gdje se analizira broj pregleda za deset najpopularnijih emisija prošlog mjeseca. Većina emisija ima između 15.000 i 25.000 pregleda, ali jedna emisija – ekskluzivni intervju s istaknutom javnom osobom – ima čak 180.000 pregleda. Podaci sortirani od najmanjeg prema najvećem: 14.000, 16.000, 18.000, 19.000, 22.000, 23.000, 24.000, 26.000, 28.000 i 180.000.

Code
# Podatci o pregledima emisija na HRT Playeru (u tisućama)
pregledi_player <- c(14, 16, 18, 19, 22, 23, 24, 26, 28, 180)
emisije <- paste("Emisija", 1:10)

# Izračun sredine i medijana
sredina <- mean(pregledi_player)
medijan <- median(pregledi_player)

df_player <- data.frame(
  emisija = factor(emisije, levels = emisije),
  pregledi = pregledi_player,
  tip = ifelse(pregledi_player == 180, "Outlier", "Tipična")
)

ggplot(df_player, aes(x = emisija, y = pregledi, fill = tip)) +
  geom_col(color = "black", width = 0.7) +
  scale_fill_manual(values = c("Outlier" = "gray70", "Tipična" = "gray40")) +
  geom_hline(yintercept = sredina, linetype = "dashed", linewidth = 0.8) +
  geom_hline(yintercept = medijan, linetype = "solid", linewidth = 0.8) +
  annotate("text", x = 2.5, y = sredina + 8,
           label = paste("Prosjek =", sredina), size = 3) +
  annotate("text", x = 2.5, y = medijan + 8,
           label = paste("Medijan =", medijan), size = 3) +
  labs(
    title = "Pregledi emisija na HRT Playeru",
    subtitle = "Emisija 10 je outlier (viralni intervju s 180.000 pregleda)",
    x = "",
    y = "Pregledi (tisuće)"
  ) +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    legend.title = element_blank()
  )
Figure 17.2: Usporedba aritmetičke sredine i medijana u prisutnosti outliera. Isprekidana linija označava aritmetičku sredinu, a puna linija medijan. Uočava se kako jedna ekstremna vrijednost (Emisija 10 s 180.000 pregleda) značajno povlači prosjek prema gore, dok medijan ostaje stabilan i bolje odražava tipičnu gledanost.

Ako se izračuna aritmetička sredina, dobiva se \((14.000 + 16.000 + 18.000 + 19.000 + 22.000 + 23.000 + 24.000 + 26.000 + 28.000 + 180.000) / 10 = 37.000\) pregleda. Ova brojka stvara dojam da je “tipična” emisija daleko popularnija nego što zapravo jest. Medijan se, s druge strane, izračunava kao prosjek pete i šeste vrijednosti (jer je broj opservacija paran): \((22.000 + 23.000) / 2 = 22.500\) pregleda. Ovaj rezultat daleko bolje odražava tipičnu gledanost na platformi jer potpuno ignorira činjenicu da postoji jedna emisija s 180.000 pregleda. Medijan govori da polovina emisija ima manje od 22.500 pregleda, a polovina više.

Medijan je stoga posebno koristan u situacijama kada podaci sadrže ekstremne vrijednosti, kada je distribucija podataka asimetrična, kada se želi utvrditi “tipična” vrijednost koja nije pod utjecajem ekstremnih slučajeva ili kada se koriste ordinalni podaci kod kojih numeričke vrijednosti možda nisu smislene za izračunavanje prosjeka. Za istraživača masovne komunikacije, izbor između aritmetičke sredine i medijana ovisi o prirodi podataka i o tome što se pokušava saznati. Ako je cilj razumjeti ukupnu količinu angažmana ili ukupni “teret” nekog fenomena, aritmetička sredina može biti primjerenija. Međutim, ako je cilj utvrditi što je “tipično” za većinu slučajeva, a posebno ako se sumnja na prisutnost ekstremnih vrijednosti, medijan je često bolji izbor. U praksi, iskusni istraživači često izvještavaju obje mjere jer svaka od njih otkriva drugačiji aspekt podataka.

17.1.3 Mod

Mod je najjednostavnija mjera centralne tendencije za definirati – to je vrijednost koja se pojavljuje najčešće u skupu podataka. Za razliku od aritmetičke sredine i medijana koji zahtijevaju numeričke podatke i računanje, mod se može primijeniti na bilo koju vrstu podataka, uključujući i kategorijske, tj. nominalne podatke. Ova karakteristika čini mod posebno korisnim u istraživanjima masovne komunikacije gdje se često radi s nominalnim mjerilima, poput vrste medija, žanra sadržaja ili tematske kategorije.

Razmotrimo konkretan primjer. Analitičar sadržaja istražuje dominantne teme u večernjim vijestima RTL-a tijekom mjeseca dana. Za svaku emisiju zabilježena je koja je tema dominirala taj dan. Podaci pokazuju sljedeću distribuciju: politika se pojavila kao dominantna tema 12 puta, gospodarstvo 5 puta, kriminal 8 puta, zdravstvo 3 puta, a sport 2 puta. U ovom slučaju, mod je “politika”, jer se ta kategorija pojavljuje najčešće. Valja napomenuti da ovdje nije moguće izračunati aritmetičku sredinu niti medijan – pojmovi poput “prosjeka” između politike i gospodarstva jednostavno nemaju smisla za nominalne podatke. Međutim, mod pruža korisnu informaciju: najčešća tema u analiziranom periodu bila je politika.

Code
# Podatci o dominantnim temama u vijestima RTL-a
teme_data <- data.frame(
  tema = c("Politika", "Kriminal", "Gospodarstvo", "Zdravstvo", "Sport"),
  frekvencija = c(12, 8, 5, 3, 2)
)

# Sortiranje prema frekvenciji
teme_data <- teme_data[order(-teme_data$frekvencija), ]
teme_data$tema <- factor(teme_data$tema, levels = teme_data$tema)

ggplot(teme_data, aes(x = tema, y = frekvencija)) +
  geom_col(fill = "gray40", color = "black", width = 0.7) +
  geom_text(aes(label = frekvencija), vjust = -0.5, size = 4) +
  labs(
    title = "Dominantne teme u večernjim vijestima RTL-a (30 dana)",
    subtitle = "Mod = Politika (najčešća tema)",
    x = "Tema",
    y = "Broj emisija"
  ) +
  ylim(0, 15)
Figure 17.3: Distribucija dominantnih tema u večernjim vijestima RTL-a. Mod je ‘Politika’ jer se ta kategorija pojavljuje najčešće (12 od 30 emisija). Za nominalne varijable poput tematske kategorije, mod je jedina smislena mjera centralne tendencije.

Mod je jednako koristan i za numeričke podatke, osobito u situacijama gdje je potrebno utvrditi “najvjerojatniju” pojedinačnu vrijednost. Zamislimo da se analizira trajanje video clipova na YouTube kanalu popularne hrvatske medijske kuće. Iako postoji velika varijabilnost u trajanju videa, od 30 sekundi do 15 minuta, primjećuje se da određene duljine prevladavaju. Pretpostavimo da je analizirano sto videa i da 35 videa traje 2 minute, 20 videa traje 3 minute, 15 videa traje 1 minutu, 12 videa traje 5 minuta, 10 videa traje 4 minute, a ostalih 8 videa ima različita druga trajanja. U ovom slučaju, mod je 2 minute jer se ta vrijednost pojavljuje u čak 35 od 100 slučajeva. Ova informacija može biti vrijedna za razumijevanje uređivačke politike – očito postoji jaka preferencija za videima koji traju točno 2 minute.

Zanimljivo je primijetiti da, za razliku od aritmetičke sredine i medijana koje uvijek imaju samo jednu vrijednost, skup podataka može imati više modova. Ako se dvije ili više vrijednosti pojavljuju jednako često i češće od svih ostalih, tada se govori o bimodalnoj (dva moda) ili multimodalnoj (više modova) distribuciji. Takve situacije mogu biti vrlo informativne. Primjerice, ako analiza duljine članaka na nekom portalu pokazuje da postoje dva moda, jedan oko 300 riječi i drugi oko 1200 riječi, to može ukazivati na postojanje dviju različitih vrsta sadržaja: kratkih vijesti i dugačkih analitičkih članaka. Ovakav uvid mogao bi promaknuti kada bi se razmatrala samo aritmetička sredina.

Međutim, valja biti svjestan i ograničenja moda. Mod može biti vrlo nestabilan, osobito pri radu s kontinuiranim podacima gdje se svaka vrijednost pojavljuje samo jednom ili nekoliko puta. Osim toga, mod ne govori ništa o “sredini” distribucije u širem smislu – samo govori koja je vrijednost najčešća. U nekim slučajevima, mod može biti prilično udaljen od onoga što bi se intuitivno smatralo “tipičnom” vrijednosti. Stoga se mod u praksi istraživanja medija često koristi u kombinaciji s drugim mjerama centralne tendencije. U R-u ne postoji ugrađena funkcija za izračun moda, ali se on može jednostavno utvrditi pomoću funkcija table() i which.max(), koje identificiraju najčešću vrijednost u vektoru podataka.

17.1.4 Izbor odgovarajuće mjere

Izbor odgovarajuće mjere centralne tendencije ovisi o tri ključna čimbenika: vrsti podataka, distribuciji tih podataka i istraživačkom pitanju na koje se želi odgovoriti. S obzirom na to da je razumijevanje mjernih razina obrađeno u poglavlju 3 (Nacrt istraživanja), ovdje se daje samo sažeti pregled relevantan za izbor mjere.

Vrsta podataka predstavlja prvi i najvažniji kriterij. Za nominalne podatke, tj. kategorije bez inherentnog redoslijeda, kao što su vrsta medija (televizija, radio, novine, internet) ili žanr sadržaja (vijesti, zabava, sport, kultura), jedino je mod smislena opcija. Pojmovi kao što su “prosjek” ili “sredina” nemaju značenje kada se govori o kategorijama koje nemaju numeričku vrijednost. Za ordinalne podatke, tj. kategorije koje imaju prirodni redoslijed ali ne i jednake intervale između njih, preferira se medijan. Primjer ordinalnih podataka u komunikološkom istraživanju bile bi ocjene na Likertovoj skali, o kojoj je bilo riječi u poglavlju 3, gdje ispitanici procjenjuju koliko često prate vijesti na skali od “nikada” (1) do “uvijek” (5). Medijan koristi samo informaciju o redoslijedu vrijednosti, što ga čini prikladnim za ordinalne podatke. Međutim, u praksi istraživanja medija mnogi istraživači ipak izvještavaju aritmetičke sredine Likertovih skala, što je predmet kontinuirane metodološke debate. Za intervalne i omjerne podatke, tj. podatke s numeričkim vrijednostima i smislenim intervalima ili omjerima, postoji najveća fleksibilnost. Ako je distribucija podataka relativno simetrična i bez ekstremnih outliera, preferira se aritmetička sredina jer koristi sve informacije u podacima i ima bolja matematička svojstva. Međutim, ako distribucija pokazuje asimetriju ili sadrži ekstremne vrijednosti, medijan može pružiti vjerodostojniju sliku o “tipičnoj” vrijednosti.

Razmotrimo konkretni primjer koji ilustrira ovaj izbor. Analitičar istražuje učinkovitost društvenih mreža za promociju sadržaja portala Index.hr. Prikupio je podatke o broju klikova koje je generirala stotina Facebook objava tijekom mjeseca. Većina objava generirala je između 500 i 2000 klikova, što odražava uobičajenu razinu angažmana. Međutim, tri objave su postale viralne i generirale su 45.000, 52.000 i 68.000 klikova. Ako se izračuna aritmetička sredina, te tri viralne objave značajno povećavaju prosjek, možda na 3500 klikova. Ova brojka stvara pogrešan dojam o tome što portal može “tipično” očekivati od Facebook promocije. S druge strane, medijan bi bio možda oko 1200 klikova, što bolje odražava uobičajeni scenarij. U ovoj situaciji, iskusni istraživač bi vjerojatno izvijestio obje vrijednosti, objašnjavajući da je medijan bolji pokazatelj “tipične” uspješnosti, dok aritmetička sredina odražava ukupni prosjek uključujući rijetke ali vrlo uspješne objave. U praksi kvalitetnog istraživanja masovne komunikacije, često je korisno izvijestiti više mjera centralne tendencije jer svaka otkriva različite aspekte podataka. Ne postoji univerzalno “najbolja” mjera, a izbor zahtijeva promišljeno razmatranje prirode podataka i istraživačkog konteksta.

Sljedeća tablica sažima preporuke za izbor mjere centralne tendencije s obzirom na vrstu podataka.

Table 17.1: Preporuke za izbor mjere centralne tendencije prema vrsti podataka. Ključni uvid iz ove tablice jest da vrsta mjernog instrumenta, tj. razina mjerenja, određuje koje su mjere uopće smislene, dok oblik distribucije određuje koja je od smislenih mjera najprikladnija.
Vrsta podataka Preporučena mjera Alternativa Funkcija u R-u Napomena
Nominalni Mod table() + which.max() Jedina smislena opcija
Ordinalni Medijan Mod median() Aritmetička sredina upitna
Intervalni/Omjerni (simetrični) Aritmetička sredina Medijan mean() Obje prihvatljive
Intervalni/Omjerni (asimetrični) Medijan Aritmetička sredina median() Oprez s outlierima

Nakon što je utvrđeno kako se opisuje “središte” podataka, sljedeće logično pitanje jest koliko su podaci raspršeni oko tog središta. Upravo time bave se mjere disperzije.

17.2 Mjere disperzije

Mjere centralne tendencije govore samo dio priče o podacima – one pokazuju “sredinu”, ali ne govore ništa o tome koliko su ti podaci raspršeni oko te sredine. Analitičar portala Index.hr koji pregledava podatke o dnevnom broju posjeta stranici tijekom mjeseca primjećuje da je prosječna dnevna posjećenost bila 850.000 korisnika. Ova informacija zvuči korisno, ali kad se promisli dublje, postaje jasno da nedostaje ključni dio slagalice. Naime, radi li se o portalu čija je posjećenost svaki dan približno 850.000, što bi ukazivalo na izuzetno stabilnu i predvidivu publiku? Ili možda većinu dana ima oko 600.000 posjeta, ali ponekad dosegne 1.500.000 kada objavi posebno atraktivnu priču? Ova dva scenarija imaju potpuno različite implikacije za razumijevanje publike i planiranje sadržaja, iako oba imaju identičan prosjek.

Upravo u ovom trenutku postaju neophodne mjere disperzije ili mjere varijabilnosti. Ove statističke mjere kvantificiraju koliko su podaci “rasprostranjeni”, odnosno koliko tipično odstupaju od središnje vrijednosti. Za istraživača masovne komunikacije, ova informacija može biti jednako važna, ako ne i važnija, od samog prosjeka. U nastavku se obrađuju četiri glavne mjere disperzije: raspon, međukvartilni raspon, varijanca i standardna devijacija.

17.2.1 Raspon

Raspon je najjednostavnija mjera disperzije i definira se kao razlika između maksimalne i minimalne vrijednosti u skupu podataka. Ako analitičar istražuje trajanje televizijskih reklama na HRT-u i utvrdi da najkraća reklama traje 10 sekundi, a najdulja 90 sekundi, raspon iznosi \(90 - 10 = 80\) sekundi. Ova brojka odmah daje osjećaj koliko velika je disperzija u trajanju reklama. U R-u se raspon može izračunati pomoću funkcija range(), koja vraća minimum i maksimum, ili izravno kao max(x) - min(x).

Privlačnost raspona leži u njegovoj jednostavnosti – ne može biti lakše za izračunati, a interpretacija je potpuno jasna. Međutim, upravo ta jednostavnost krije ozbiljan nedostatak. Pretpostavimo da se analizira sto reklama i da devedeset i devet njih traje između 25 i 35 sekundi, što ukazuje na izuzetno konzistentno trajanje. Međutim, postoji jedna iznimna reklama, možda poseban promotivni spot, koja traje 90 sekundi. Raspon cijelog skupa podataka i dalje iznosi 80 sekundi, što stvara dojam velike varijabilnosti, iako je 99% reklama u vrlo uskom rasponu. Ovaj primjer ilustrira ključni problem s rasponom: on je potpuno nerobusna mjera, tj. izuzetno je osjetljiv na outliere. Potrebna je samo jedna ekstremna vrijednost da bi raspon dao potpuno iskrivljenu sliku o disperziji podataka. Osim toga, raspon koristi samo dvije vrijednosti iz cijelog skupa podataka, potpuno ignorirajući sve ostale informacije.

17.2.2 Međukvartilni raspon (IQR)

Međukvartilni raspon (engl. Interquartile Range, skraćeno IQR) elegantno rješava problem osjetljivosti na outliere. Umjesto razlike između apsolutnih ekstrema, IQR mjeri razliku između vrijednosti koje su “prilično visoke” i “prilično niske”, konkretno između trećeg i prvog kvartila.

Kvartili dijele sortiran skup podataka na četiri jednaka dijela. Prvi kvartil (\(Q_1\) ili 25. percentil) je vrijednost takva da se 25% podataka nalazi ispod nje, a 75% iznad nje. Treći kvartil (\(Q_3\) ili 75. percentil) je vrijednost takva da se 75% podataka nalazi ispod nje, a 25% iznad nje. Medijan je zapravo drugi kvartil (\(Q_2\) ili 50. percentil). Međukvartilni raspon definira se kao razlika trećeg i prvog kvartila:

\[IQR = Q_3 - Q_1\]

Drugim riječima, IQR mjeri raspon “srednje polovice” podataka, tj. raspon unutar kojeg se nalaze srednjih 50% opservacija. Ova mjera potpuno ignorira gornju i donju četvrtinu podataka, čime automatski eliminira utjecaj ekstremnih vrijednosti. U R-u se IQR izračunava funkcijom IQR(), a kvartili se mogu dobiti pomoću funkcije quantile().

Vratimo se primjeru s portalom Index.hr. Pretpostavimo da analitičar istražuje broj komentara na člancima objavljenim tijekom mjeseca. Prikupljeni su podaci za dvadeset članaka i sortirani: 5, 8, 12, 15, 18, 22, 25, 28, 32, 35, 38, 42, 45, 50, 55, 62, 68, 75, 82 i 450. Primjećuje se da posljednji članak ima neobično velik broj komentara (450) – očito se radi o kontroverznoj temi koja je potakla veliku raspravu.

Code
# Podatci o broju komentara na člancima Index.hr
komentari <- c(5, 8, 12, 15, 18, 22, 25, 28, 32, 35,
               38, 42, 45, 50, 55, 62, 68, 75, 82, 450)

df_komentari <- data.frame(komentari = komentari)

# Izračun kvartila i IQR-a
Q1 <- quantile(komentari, 0.25)
Q3 <- quantile(komentari, 0.75)
IQR_val <- IQR(komentari)
raspon <- max(komentari) - min(komentari)

ggplot(df_komentari, aes(x = "", y = komentari)) +
  geom_boxplot(fill = "gray80", color = "black", width = 0.4,
               outlier.shape = 1, outlier.size = 3) +
  geom_jitter(width = 0.08, alpha = 0.6, size = 2) +
  annotate("text", x = 1.35, y = Q1, label = paste("Q1 =", Q1), hjust = 0, size = 3) +
  annotate("text", x = 1.35, y = median(komentari),
           label = paste("Medijan =", median(komentari)), hjust = 0, size = 3) +
  annotate("text", x = 1.35, y = Q3, label = paste("Q3 =", Q3), hjust = 0, size = 3) +
  labs(
    title = "Broj komentara na člancima Index.hr",
    subtitle = paste("IQR =", IQR_val, " | Raspon =", raspon, "(raspon osjetljiv na outlier!)"),
    x = "",
    y = "Broj komentara"
  )
Figure 17.4: Box plot broja komentara na člancima portala Index.hr. Pravokutnik označava međukvartilni raspon (od Q1 do Q3), linija unutar njega je medijan, a kružić označava outlier. Uočava se kako IQR od 40 komentara daleko bolje odražava tipičnu varijabilnost nego raspon od 445, koji je iskrivljen jednim ekstremnim člankom.

Ako bi se izračunao raspon, dobilo bi se \(450 - 5 = 445\) komentara, što daje iskrivljenu sliku jer većina članaka ima daleko manje komentara. Međukvartilni raspon pristupa problemu drugačije. Prvi kvartil \(Q_1\) iznosi oko 20 komentara, treći kvartil \(Q_3\) oko 60 komentara, pa je \(IQR = 60 - 20 = 40\) komentara. Ova brojka govori da “srednja polovica” članaka varira za oko 40 komentara, potpuno ignorirajući članak s 450 komentara i dajući realističniju sliku o varijabilnosti “tipičnih” članaka. IQR je stoga idealan izbor kada se radi s podacima koji sadrže outliere, što je česta situacija u analizi medijskih podataka gdje se nailazi na viralne objave, iznimno popularne članke ili druge ekstremne slučajeve.

17.2.3 Varijanca i standardna devijacija

Za razliku od raspona i IQR-a koji koriste samo nekoliko odabranih vrijednosti, varijanca pristupa mjerenju disperzije na fundamentalno drugačiji način jer uzima u obzir sve opservacije i mjeri koliko svaka od njih odstupa od prosjeka. Razmotrimo sljedeći scenarij. Analitičar istražuje gledanost pet epizoda televizijske serije na HRT-u: 180.000, 165.000, 195.000, 170.000 i 190.000 gledatelja.

Prvi korak je izračunati aritmetičku sredinu: \(\bar{X} = 180.000\) gledatelja. Zatim se za svaku epizodu izračunava koliko odstupa od prosjeka i to se odstupanje kvadrira kako bi se eliminirali negativni predznaci.

Table 17.2: Izračun varijance za gledanost TV serije. Varijanca se dobiva tako da se zbroje sva kvadrirana odstupanja i podijele s \(N-1\). Kvadriranje je potrebno jer bi se pozitivna i negativna odstupanja inače poništila, dajući uvijek zbroj nula.
Epizoda Gledatelji Odstupanje od prosjeka Kvadrirano odstupanje
1 180.000 0 0
2 165.000 -15.000 225.000.000
3 195.000 15.000 225.000.000
4 170.000 -10.000 100.000.000
5 190.000 10.000 100.000.000

Varijanca se zatim izračunava kao prosjek kvadriranih odstupanja:

\[s^2 = \frac{1}{N-1}\sum_{i=1}^{N}(X_i - \bar{X})^2\]

Ova formula kaže: za svaku opservaciju, izračunaj razliku između te opservacije i prosjeka, tu razliku kvadriraj, zbroji sve takve kvadrirane razlike i podijeli s \(N-1\). Dijeljenje s \(N-1\) umjesto \(N\) koristi se jer se u istraživanjima obično radi s uzorkom koji reprezentira veću populaciju, a ova korekcija, poznata kao Besselova korekcija, osigurava nepristrani procjenitelj populacijske varijance.1

Za naš primjer: \(s^2 = (0 + 225.000.000 + 225.000.000 + 100.000.000 + 100.000.000) / 4 = 162.500.000\). Varijanca gledanosti je 162,5 milijuna. Ali 162,5 milijuna čega? Ovdje se nailazi na fundamentalni problem s varijancom: izražena je u kvadratnim jedinicama izvorne varijable. Ako se mjere gledatelji, varijanca je u “gledatelji na kvadrat”, što nema nikakvo realno značenje i čini varijancu gotovo nemogućom za izravnu interpretaciju. Unatoč ovom problemu, varijanca je matematički fundamentalna i ima izvrsna svojstva koja je čine temeljem gotovo svih naprednih statističkih metoda – ona je aditivna (varijance nezavisnih varijabli se mogu zbrajati) i elegantno se ponaša u teorijskim razmatranjima. U R-u se varijanca izračunava funkcijom var().

Standardna devijacija rješava problem neinterpretabilnosti varijance jednostavnim uzimanjem kvadratnog korijena:

\[s = \sqrt{\frac{1}{N-1}\sum_{i=1}^{N}(X_i - \bar{X})^2}\]

Drugim riječima, standardna devijacija je kvadratni korijen varijance, čime se vraća na izvorne mjerne jedinice. Za primjer gledanosti serije: \(s = \sqrt{162.500.000} \approx 12.748\) gledatelja. Sada postoji broj koji se može razumjeti i komunikirati: standardna devijacija gledanosti je približno 12.750 gledatelja, što se interpretira kao mjera “tipičnog” odstupanja od prosječne gledanosti. U R-u se standardna devijacija izračunava funkcijom sd().

Za interpretaciju standardne devijacije koristi se empirijsko pravilo (poznato i kao pravilo 68-95-99.7) koje vrijedi za približno simetrične, zvonoliko oblikovane distribucije. Prema ovom pravilu, približno 68% podataka pada u raspon od jedne standardne devijacije oko prosjeka (\(\bar{X} \pm 1s\)), približno 95% podataka pada u raspon od dvije standardne devijacije (\(\bar{X} \pm 2s\)), a gotovo svi podaci, točnije 99.7%, padaju u raspon od tri standardne devijacije (\(\bar{X} \pm 3s\)).

Code
set.seed(123)
# Simulacija gledanosti 200 epizoda (u tisućama)
gledanost_serija <- rnorm(200, mean = 180, sd = 25)

prosjek_s <- mean(gledanost_serija)
sd_s <- sd(gledanost_serija)

# Provjera empirijskog pravila
u_1sd <- mean(gledanost_serija >= prosjek_s - sd_s &
              gledanost_serija <= prosjek_s + sd_s) * 100
u_2sd <- mean(gledanost_serija >= prosjek_s - 2*sd_s &
              gledanost_serija <= prosjek_s + 2*sd_s) * 100

df_serija <- data.frame(gledanost = gledanost_serija)

ggplot(df_serija, aes(x = gledanost)) +
  geom_histogram(aes(y = after_stat(density)), bins = 20,
                 fill = "gray60", color = "black") +
  geom_vline(xintercept = prosjek_s, linewidth = 1.2) +
  geom_vline(xintercept = c(prosjek_s - sd_s, prosjek_s + sd_s),
             linetype = "dashed", linewidth = 0.8) +
  geom_vline(xintercept = c(prosjek_s - 2*sd_s, prosjek_s + 2*sd_s),
             linetype = "dotted", linewidth = 0.8) +
  annotate("text", x = prosjek_s, y = 0.019, label = "M", size = 4, fontface = "bold") +
  annotate("text", x = prosjek_s - sd_s, y = 0.018, label = "-1SD", size = 3) +
  annotate("text", x = prosjek_s + sd_s, y = 0.018, label = "+1SD", size = 3) +
  annotate("text", x = prosjek_s - 2*sd_s, y = 0.017, label = "-2SD", size = 3) +
  annotate("text", x = prosjek_s + 2*sd_s, y = 0.017, label = "+2SD", size = 3) +
  labs(
    title = "Gledanost TV serije na HRT-u (200 epizoda)",
    subtitle = paste0("M = ", round(prosjek_s, 1), " | SD = ", round(sd_s, 1),
                      " | Unutar ±1SD: ", round(u_1sd), "% | Unutar ±2SD: ", round(u_2sd), "%"),
    x = "Gledanost (tisuće)",
    y = "Gustoća"
  )
Figure 17.5: Demonstracija empirijskog pravila na simuliranim podacima o gledanosti TV serije (200 epizoda). Puna vertikalna linija označava prosjek, isprekidane linije granice jedne standardne devijacije, a točkaste linije granice dviju standardnih devijacija. Vidljivo je da većina podataka pada unutar jedne standardne devijacije od prosjeka.

Primijenimo ovo pravilo na primjer s gledanošću serije. Prosječna gledanost bila je 180.000, a standardna devijacija 12.750 gledatelja. Prema empirijskom pravilu, očekuje se da oko 68% epizoda ima gledanost između \(180.000 - 12.750 = 167.250\) i \(180.000 + 12.750 = 192.750\) gledatelja. Gotovo sve epizode (99.7%) trebale bi imati gledanost između \(180.000 - 3 \times 12.750 = 141.750\) i \(180.000 + 3 \times 12.750 = 218.250\) gledatelja. Epizoda s gledanošću izvan ovog raspona predstavljala bi statistički neuobičajan slučaj koji bi zahtijevao posebnu pažnju analitičara.

Standardna devijacija ima posebnu vrijednost za usporedbe. Zamislimo da se uspoređuju dva portala. Portal A ima prosječno 50.000 posjeta dnevno sa standardnom devijacijom od 5.000, dok portal B također ima prosječno 50.000 posjeta, ali sa standardnom devijacijom od 25.000. Iako oba portala imaju isti prosjek, portal A pokazuje daleko konzistentniju posjećenost, dok portal B pokazuje veliku varijabilnost, s danima koji su vrlo slabi i danima koji su izuzetno jaki. Ova razlika u konzistentnosti može imati važne implikacije za poslovne odluke i razumijevanje publike.

17.2.4 Usporedba mjera disperzije

Nakon pregleda četiriju mjera disperzije, korisno je razmotriti njihove prednosti i nedostatke u usporednom kontekstu. Robusnost na outliere najvažnija je razlika: raspon, varijanca i standardna devijacija osjetljive su na ekstremne vrijednosti, dok je IQR vrlo robustan. Raspon i IQR koriste samo nekoliko vrijednosti iz skupa podataka, dok varijanca i standardna devijacija koriste sve opservacije. Standardna devijacija ima najbolju kombinaciju interpretabilnosti i matematičkih svojstava, što je čini najčešće korištenom mjerom disperzije u istraživačkoj praksi.

Table 17.3: Usporedba mjera disperzije. Ključni zaključak jest da ne postoji univerzalno najbolja mjera: IQR je najprikladniji kada podaci sadrže outliere, dok je standardna devijacija najčešći izbor za čiste podatke s približno simetričnom distribucijom. Stupac s R funkcijama pokazuje da se svaka od ovih mjera može izračunati jednim pozivom funkcije.
Mjera Robusnost na outliere Koristi sve podatke Interpretabilnost Funkcija u R-u Tipična primjena
Raspon Vrlo slaba Ne (samo 2 vrijednosti) Visoka range() Brzi uvid u ekstreme
IQR Vrlo jaka Ne (samo kvartili) Visoka IQR() Podaci s outlierima
Varijanca Slaba Da Niska (kvadratne jedinice) var() Teorijske analize
Standardna devijacija Slaba Da Visoka sd() Univerzalna mjera

Važno je napomenuti da se mjere centralne tendencije i mjere disperzije uvijek izvještavaju u parovima. Aritmetička sredina se uvijek navodi zajedno sa standardnom devijacijom jer obje koriste sve podatke i obje su osjetljive na outliere. Medijan se izvještava s međukvartilnim rasponom jer obje mjere koriste informacije o poziciji vrijednosti i obje su robusne na outliere. Primjer ispravnog izvještavanja jest: “Prosječan broj objava na dan bio je \(M = 12.5\) (\(SD = 3.2\))” ili “Medijan broja komentara bio je \(Mdn = 45\) (\(IQR = 23\))”. Brojke se u društvenim znanostima općenito zaokružuju na dvije decimale i uvijek se kontekstualiziraju, objašnjavajući što znače u kontekstu istraživačkog pitanja.

Nakon što je utvrđeno kako se opisuju središnja vrijednost i raspršenost pojedinih varijabli, sljedeći korak jest ispitati odnose između varijabli. Upravo to omogućuju standardizirani rezultati i korelacijska analiza.

17.3 Standardizirani rezultati i korelacije

Dosad razmatrane mjere opisuju pojedinačne varijable – njihovu središnju vrijednost i disperziju. Međutim, u istraživanju masovne komunikacije rijetko zanima samo jedna izolirana varijabla. Umjesto toga, gotovo uvijek se želi razumjeti odnose između varijabli. Je li veći angažman na društvenim mrežama povezan s većom lojalnošću brendu? Postoji li veza između duljine članka i broja komentara? Kako se gledanost različitih programa povezuje međusobno? Ova pitanja zahtijevaju prijelaz s univarijatne (jedne varijable) na bivarijatnu (dvije varijable) analizu. Međutim, prije nego što se mogu smisleno uspoređivati varijable mjerene na različitim skalama, potrebno je razumjeti koncept standardizacije.

17.3.1 Z-vrijednosti

Standardizirani rezultat ili z-vrijednost definira se kao broj standardnih devijacija za koji određena opservacija odstupa od prosjeka. Zamislimo sljedeći scenarij: istraživač razvija novi upitnik za mjerenje “sklonosti dijeljenju dezinformacija” na društvenim mrežama. Upitnik sadrži 40 pitanja, a sudionici odgovaraju na skali od 1 do 5 za svako pitanje, što znači da ukupan rezultat može varirati od 40 do 200. Nakon provedbe istraživanja na uzorku od 10.000 korisnika, prosječan rezultat je 110 sa standardnom devijacijom od 15. Osoba koja dobije rezultat od 145 – kako bi se trebao interpretirati taj rezultat?

Jedan pristup bio bi reći da je osoba postigla 72.5% maksimalnog mogućeg rezultata (145/200). Međutim, ovaj pristup ne uzima u obzir kako se zapravo ponašaju drugi ljudi. Bolji pristup jest usporediti osobu s distribucijom rezultata u populaciji, što omogućuje formula za z-vrijednost:

\[z_i = \frac{X_i - \bar{X}}{s}\]

Ova formula kaže: od sirove vrijednosti (\(X_i\)) potrebno je oduzeti prosjek (\(\bar{X}\)) i rezultat podijeliti sa standardnom devijacijom (\(s\)). Za navedenu osobu: \(z = (145 - 110) / 15 = 2.33\). Ova osoba je 2.33 standardne devijacije iznad prosjeka, što prema empirijskom pravilu znači da se nalazi u gornjih približno 1% populacije. U R-u se z-vrijednosti izračunavaju funkcijom scale(), koja automatski centrira podatke oko nule i skalira ih na standardnu devijaciju od 1.

Code
set.seed(456)
# Simulacija rezultata upitnika (N = 500)
rezultati <- rnorm(500, mean = 110, sd = 15)

# Standardizacija pomoću funkcije scale()
z_scores <- scale(rezultati)[,1]

posebna_osoba <- 145
z_posebna <- (posebna_osoba - mean(rezultati)) / sd(rezultati)

df_z <- data.frame(z = z_scores)

ggplot(df_z, aes(x = z)) +
  geom_histogram(bins = 30, fill = "gray60", color = "black") +
  geom_vline(xintercept = z_posebna, linewidth = 1.2, linetype = "dashed") +
  annotate("text", x = z_posebna + 0.3, y = 45,
           label = paste0("Osoba X\nz = ", round(z_posebna, 2)),
           hjust = 0, size = 3.5) +
  labs(
    title = "Distribucija z-vrijednosti (N = 500)",
    subtitle = "Z-vrijednosti imaju prosjek 0 i SD = 1",
    x = "Z-vrijednost",
    y = "Frekvencija"
  )
Figure 17.6: Distribucija z-vrijednosti rezultata upitnika o dijeljenju dezinformacija (N = 500). Isprekidana linija označava z-vrijednost od 2.33 koja odgovara osobi s rezultatom 145. Vidljivo je da se gotovo svi rezultati nalaze između -3 i +3, a osoba s z = 2.33 zaista se nalazi u samom repu distribucije.

Z-vrijednosti imaju dva ključna svojstva. Prvo, distribucija z-vrijednosti uvijek ima prosjek 0 i standardnu devijaciju 1, bez obzira kakva je bila originalna distribucija. Kada se od svake vrijednosti oduzme prosjek, distribucija se centrira oko nule; kada se podijeli sa standardnom devijacijom, distribucija se skalira tako da standardna devijacija postane 1. Drugo, z-vrijednosti omogućuju usporedbu između varijabli mjerenih na potpuno različitim skalama. Broj dnevnih objava na društvenim mrežama, koji varira od 0 do 20, ne može se direktno usporediti s vremenom provedenim na platformi, koje varira od 0 do 300 minuta. Međutim, ako se obje varijable standardiziraju, moguće je usporediti relativne pozicije. Osoba s z-vrijednošću od 1.5 za broj objava i 0.8 za vrijeme provedeno je “neuobičajenija” u broju objava, dok je osoba sa z-vrijednostima 0.5 i 2.0 “neuobičajenija” u vremenu provedenom. Ova usporedba bila bi nemoguća sa sirovim rezultatima.

U komunikološkom istraživanju, standardizirani rezultati koriste se za identifikaciju outliera (članak s z-vrijednošću od 4.5 za broj komentara zaslužuje posebnu pažnju), za kreiranje kompozitnih indeksa (kombiniranje broja lajkova, komentara i dijeljenja u uravnoteženi “indeks angažmana”, pri čemu bi bez standardizacije lajkovi dominirali indeks samo zato što su na većoj skali), te u naprednim statističkim analizama poput višestruke regresije, o kojoj je riječ u poglavlju 10.

17.3.2 Pearsonov koeficijent korelacije

Pearsonov koeficijent korelacije (\(r\)) kvantificira jačinu i smjer linearnog odnosa između dviju varijabli. Prije uvođenja formalne mjere, važno je razumjeti kako se odnosi vizualno procjenjuju. Dijagram raspršenja (engl. scatterplot) je osnovni alat za to – svaka opservacija reprezentirana je kao točka gdje x-koordinata odgovara vrijednosti prve varijable, a y-koordinata vrijednosti druge. Ako točke formiraju obrazac koji ide odozdo lijevo prema gore desno, to sugerira pozitivan odnos: porast jedne varijable tendira biti praćen porastom druge. Ako točke idu od gore lijevo prema dolje desno, to ukazuje na negativan odnos. Ako su točke nasumično raspršene bez jasnog obrasca, to sugerira da ne postoji sistematičan linearan odnos.

Koeficijent korelacije varira od -1 do +1, pri čemu \(r = +1\) indicira savršenu pozitivnu korelaciju (sve točke leže na pravoj liniji koja raste), \(r = -1\) indicira savršenu negativnu korelaciju (sve točke leže na pravoj liniji koja pada), a \(r = 0\) indicira nikakvu linearnu korelaciju. Da bi se razumjelo kako se korelacija izračunava, potrebno je uvesti koncept kovarijance, tj. mjere koja kvantificira koliko dvije varijable variraju zajedno:

\[\text{Cov}(X,Y) = \frac{1}{N-1}\sum_{i=1}^{N}(X_i - \bar{X})(Y_i - \bar{Y})\]

Ova formula govori sljedeće: za svaku opservaciju gleda se koliko \(X\) odstupa od svog prosjeka i koliko \(Y\) odstupa od svog prosjeka, a zatim se ta odstupanja množe. Ako obje varijable tendiraju biti iznad prosjeka u isto vrijeme (ili obje ispod), umnošci su pozitivni, što rezultira pozitivnom kovarijancom. Ako jedna tendira biti iznad prosjeka kada je druga ispod, umnošci su negativni.

Međutim, kovarijanca ima problem: njezina veličina ovisi o jedinicama mjerenja. Ako se mjeri duljina članka u riječima i broj komentara, kovarijanca je u “riječi × komentari”, što nema razumljivog značenja. Pearsonov koeficijent korelacije rješava ovaj problem standardizacijom, tj. dijeli kovarijancu s umnoškom standardnih devijacija obiju varijabli:

\[r_{XY} = \frac{\text{Cov}(X,Y)}{s_X \cdot s_Y}\]

Dijeleći kovarijancu s umnoškom standardnih devijacija, dobiva se bezdimenzionalna mjera koja uvijek pada između -1 i +1. Postoji i elegantna alternativna formula koja eksplicitno povezuje korelaciju sa z-vrijednostima: \(r_{XY} = \frac{1}{N-1}\sum_{i=1}^{N}z_{X_i} \cdot z_{Y_i}\), što pokazuje da je korelacija zapravo prosječan umnožak standardiziranih rezultata. U R-u se korelacija izračunava funkcijom cor(), a kovarijanca funkcijom cov().

Code
set.seed(789)
n <- 80

# Pozitivna korelacija
x1 <- rnorm(n, 50, 10)
y1 <- 0.85 * x1 + rnorm(n, 0, 5)

# Negativna korelacija
x2 <- rnorm(n, 50, 10)
y2 <- -0.65 * x2 + 80 + rnorm(n, 0, 7)

# Bez korelacije
x3 <- rnorm(n, 50, 10)
y3 <- rnorm(n, 50, 10)

df_cor <- data.frame(
  x = c(x1, x2, x3),
  y = c(y1, y2, y3),
  tip = factor(rep(c(
    paste0("Pozitivna (r = ", round(cor(x1, y1), 2), ")"),
    paste0("Negativna (r = ", round(cor(x2, y2), 2), ")"),
    paste0("Bez korelacije (r = ", round(cor(x3, y3), 2), ")")
  ), each = n), levels = c(
    paste0("Pozitivna (r = ", round(cor(x1, y1), 2), ")"),
    paste0("Negativna (r = ", round(cor(x2, y2), 2), ")"),
    paste0("Bez korelacije (r = ", round(cor(x3, y3), 2), ")")
  ))
)

ggplot(df_cor, aes(x = x, y = y)) +
  geom_point(alpha = 0.7, size = 1.5) +
  geom_smooth(method = "lm", se = FALSE, color = "black", linewidth = 0.8) +
  facet_wrap(~tip, scales = "free") +
  labs(
    title = "Primjeri različitih korelacija",
    x = "Varijabla X",
    y = "Varijabla Y"
  ) +
  theme(strip.text = element_text(face = "bold"))
`geom_smooth()` using formula = 'y ~ x'
Figure 17.7: Primjeri različitih korelacija. Lijevi panel pokazuje jaku pozitivnu korelaciju, srednji panel umjerenu negativnu, a desni panel pokazuje podatke bez linearne korelacije. Pravci regresije naznačuju smjer odnosa.

Za interpretaciju korelacije koriste se opće smjernice prikazane u sljedećoj tablici.

Table 17.4: Smjernice za interpretaciju korelacije prema apsolutnoj vrijednosti koeficijenta. Valja naglasiti da su ove granice okvirne i da konkretna interpretacija uvijek ovisi o kontekstu istraživanja. U istraživanju masovne komunikacije, korelacija od \(r = 0.35\) između izloženosti vijestima i političkog znanja mogla bi biti supstantivno značajna, dok u istraživanju pouzdanosti mjernog instrumenta korelacija ispod 0.80 može ukazivati na ozbiljan problem.
Apsolutna vrijednost \(|r|\) Interpretacija
0.00 – 0.19 Vrlo slaba ili zanemariva
0.20 – 0.39 Slaba
0.40 – 0.59 Umjerena
0.60 – 0.79 Jaka
0.80 – 1.00 Vrlo jaka

Ograničenja Pearsonove korelacije moraju se razumjeti za pravilnu interpretaciju. Korelacija mjeri samo linearne odnose, pa ako je odnos između varijabli krivolinijski (primjerice obrnuta U krivulja), korelacija može biti blizu nule čak i kada postoji jaka sistematična veza. Nadalje, korelacija je osjetljiva na outliere jer jedna ekstremna točka može značajno utjecati na vrijednost koeficijenta. Konačno, i to je najvažnije ograničenje: korelacija ne implicira uzročnost. Ako se pronađe da je vrijeme provedeno na Facebooku korelirano s političkom polarizacijom, to ne znači nužno da Facebook uzrokuje polarizaciju. Moguće je da Facebook uzrokuje polarizaciju, da polarizacija uzrokuje veću upotrebu Facebooka, da treća varijabla uzrokuje oboje ili da je odnos slučajan. Za zaključke o uzročnosti potrebni su eksperimentalni dizajni ili napredne kauzalne metode, o čemu se detaljnije govori u poglavlju 3 (Nacrt istraživanja) i poglavlju 10 (Statistički testovi u praksi).

Razmotrimo primjer iz komunikološkog istraživanja. Analitičar istražuje odnos između triju varijabli vezanih uz portal Večernji.hr: dnevni broj objavljenih članaka (\(M = 25.4\), \(SD = 4.2\)), prosječno vrijeme čitanja po članku (\(M = 142\) sekundi, \(SD = 28\)) i ukupan dnevni broj komentara (\(M = 450\), \(SD = 120\)). Korelacijska matrica prikazana je u sljedećoj tablici.

Table 17.5: Korelacijska matrica za podatke portala Večernji.hr. Najsnažniji odnos jest umjereno jaka pozitivna korelacija (\(r = 0.58\)) između vremena čitanja i broja komentara, što sugerira da angažiraniji sadržaj koji zadržava čitatelje rezultira većom interakcijom. Slaba negativna korelacija (\(r = -0.32\)) između broja članaka i vremena čitanja mogla bi značiti da veća količina objavljenog sadržaja rezultira površnijim čitanjem.
Broj članaka Vrijeme čitanja Ukupni komentari
Broj članaka 1.00 -0.32 0.15
Vrijeme čitanja -0.32 1.00 0.58
Ukupni komentari 0.15 0.58 1.00

Ovakva korelacijska matrica u R-u se jednostavno izračunava pozivom cor(podaci), gdje je podaci data frame s numeričkim stupcima. Nalaz da angažiraniji sadržaj koji zadržava čitatelje rezultira većom interakcijom može imati praktične implikacije za uredničke odluke, no valja biti oprezan s kauzalnom interpretacijom jer korelacijska analiza ne može dokazati uzročno-posljedični odnos.

Nakon što je utvrđeno kako se numerički opisuju i uspoređuju varijable, sljedeći korak jest vizualno prikazati podatke. Vizualizacija podataka ne samo da nadopunjuje numeričke statistike, već može otkriti obrasce koji bi iz samih brojki ostali skriveni.

17.4 Vizualizacija podataka

Brojke same po sebi rijetko govore dovoljno jasnu priču. Prosječna gledanost od 285.000 gledatelja sa standardnom devijacijom od 42.000 pruža određeni uvid, ali taj uvid postaje daleko moćniji kada ga se vizualizira. Grafički prikazi mogu otkriti obrasce koje numeričke statistike propuštaju, poput bimodalnih distribucija, outliera, nelinearnih odnosa ili subgrupa u podacima. Edward Tufte, utjecajni teoretičar vizualizacije podataka, sažeo je ovu ideju jednostavno: cilj svake vizualizacije jest, prije svega, pokazati podatke (Tufte, 2001). U nastavku se obrađuju četiri temeljne vrste grafova koje pokrivaju većinu potreba u istraživanju masovne komunikacije, uz prikaz R koda za svaki od njih.

17.4.1 Histogram

Histogram prikazuje distribuciju pojedinačne numeričke varijable dijeleći raspon vrijednosti na intervale (tzv. binove) i prikazujući koliko opservacija pada u svaki interval. Na x-osi nalaze se intervali vrijednosti, a na y-osi frekvencije. Za istraživača masovne komunikacije, histogram je nezamjenjiv alat za razumijevanje kako su podaci distribuirani.

Zamislimo da se analizira trajanje 200 video clipova na YouTube kanalu RTL-a. Histogram odmah otkriva jesu li većina videa sličnog trajanja ili variraju široko, postoje li jasne modalne vrijednosti (primjerice klaster oko 2 minute za vijesti i drugi oko 10 minuta za reportaže), ima li outliera koji zahtijevaju posebnu pažnju te je li distribucija simetrična ili asimetrična. Histogram koji pokazuje dva jasna vrha, tj. bimodalnu distribuciju, može otkriti da portal proizvodi dvije distinktivne vrste sadržaja, što je uvid koji bi se izgubio kada bi se razmatrao samo prosjek i standardna devijacija.

Code
set.seed(111)
# Simulacija trajanja videa (u sekundama)
kratke_vijesti <- rnorm(120, mean = 120, sd = 25)
duge_reportaze <- rnorm(60, mean = 600, sd = 90)
srednji <- rnorm(20, mean = 300, sd = 40)

trajanje_videa <- c(kratke_vijesti, duge_reportaze, srednji)
df_trajanje <- data.frame(trajanje = trajanje_videa / 60)  # pretvorba u minute

ggplot(df_trajanje, aes(x = trajanje)) +
  geom_histogram(bins = 25, fill = "gray60", color = "black") +
  geom_vline(xintercept = mean(df_trajanje$trajanje), linetype = "dashed", linewidth = 0.8) +
  annotate("text", x = 5, y = 32,
           label = "Bimodalna distribucija:\n1. Kratke vijesti (~2 min)\n2. Duge reportaže (~10 min)",
           hjust = 0, size = 3) +
  labs(
    title = "Trajanje videa na YouTube kanalu RTL-a (N = 200)",
    subtitle = paste("Prosjek =", round(mean(df_trajanje$trajanje), 1),
                     "min (isprekidana linija)"),
    x = "Trajanje (minute)",
    y = "Frekvencija"
  )
Figure 17.8: Bimodalna distribucija trajanja YouTube videa na kanalu RTL-a. Jasno su vidljiva dva vrha: jedan oko 2 minute (kratke vijesti) i drugi oko 10 minuta (duže reportaže). Isprekidana linija označava aritmetičku sredinu koja u ovom slučaju pada između dvaju modova i ne reprezentira niti jednu od dviju grupa. Ovaj primjer ilustrira zašto je vizualizacija nužna prije izvještavanja numeričkih statistika.

U R-u se histogram kreira pomoću geom_histogram() funkcije iz paketa ggplot2. Ključ dobrog histograma leži u izboru broja intervala. Premalo intervala stvara grub prikaz koji skriva detalje distribucije, dok previše intervala stvara isprekidan prikaz gdje svaki bin sadrži samo nekoliko opservacija. Kao opće pravilo, za uzorke od 50 do 100 opservacija obično je prikladno 7 do 10 intervala, dok veći uzorci mogu koristiti više intervala. U ggplot2, broj intervala kontrolira se argumentom bins unutar geom_histogram().

17.4.2 Box plot

Box plot (dijagram pravokutnika) elegantno sažima distribuciju kroz pet ključnih statistika: minimum, prvi kvartil (Q1), medijan, treći kvartil (Q3) i maksimum. Pravokutnik obuhvaća međukvartilni raspon (od Q1 do Q3) s linijom označenom na medijanu, dok se “brkovi” protežu prema najnižim i najvišim vrijednostima koje nisu outlieri. Točke izvan brkova, tj. vrijednosti udaljene više od 1.5×IQR od rubova pravokutnika, označavaju outliere.

Box plot je idealan za usporedbe između grupa. Usporedba gledanosti emisija na HRT-u, Nova TV-u i RTL-u pomoću triju paralelnih box plotova odmah otkriva ne samo razlike u medijanima (koja televizija ima veću “tipičnu” gledanost), već i razlike u varijabilnosti (koja televizija pokazuje konzistentniju gledanost) i prisutnost eventualnih ekstremnih vrijednosti.

Code
set.seed(222)
# Simulacija gledanosti za tri TV kuće (u tisućama)
gledanost_tv <- data.frame(
  gledanost = c(
    rnorm(50, mean = 250, sd = 35),
    rnorm(50, mean = 310, sd = 50),
    rnorm(50, mean = 280, sd = 42)
  ),
  tv_kuca = rep(c("HRT", "Nova TV", "RTL"), each = 50)
)

# Dodavanje outliera
gledanost_tv$gledanost[c(10, 60, 110)] <- c(380, 480, 420)

ggplot(gledanost_tv, aes(x = tv_kuca, y = gledanost)) +
  geom_boxplot(fill = "gray80", color = "black",
               outlier.shape = 1, outlier.size = 2) +
  stat_summary(fun = mean, geom = "point", shape = 18, size = 3) +
  labs(
    title = "Gledanost večernjih vijesti po TV kućama",
    subtitle = "Romb označava prosjek | Kružići su outlieri",
    x = "TV kuća",
    y = "Gledanost (tisuće)"
  )
Figure 17.9: Usporedba gledanosti između televizijskih kuća pomoću box plotova. Romb označava aritmetičku sredinu, a kružići outliere. Vidljivo je da Nova TV ima najvišu medijansku gledanost ali i najveću varijabilnost, dok HRT pokazuje najkonzistentniju gledanost s najužim pravokutnikom.

U R-u se box plot kreira pomoću geom_boxplot() iz paketa ggplot2. Box plot je posebno vrijedan jer je robustan na outliere, čineći ih vidljivima kao zasebne točke bez iskrivljavanja glavnog prikaza distribucije. Također omogućuje brzu vizualnu procjenu asimetrije: ako medijan nije u sredini pravokutnika, distribucija je asimetrična. Medijan bliži donjem rubu sugerira pozitivno asimetričnu distribuciju (rep prema višim vrijednostima), dok medijan bliži gornjem rubu sugerira negativno asimetričnu distribuciju.

17.4.3 Dijagram raspršenja

Dijagram raspršenja (engl. scatterplot) prikazuje odnos između dviju numeričkih varijabli tako što svaku opservaciju reprezentira kao točku u dvodimenzionalnom prostoru. Na x-osi je jedna varijabla, na y-osi druga, a svaka točka predstavlja jednu opservaciju. Dijagram raspršenja je fundamentalan alat za istraživanje korelacija jer vizualno otkriva smjer odnosa, jačinu odnosa, linearnost odnosa i prisutnost outliera.

Code
set.seed(333)
n <- 100
# Simulacija podataka: duljina članka i broj komentara
duljina_clanka <- rnorm(n, mean = 800, sd = 250)
broj_komentara <- 5 + 0.06 * duljina_clanka + rnorm(n, mean = 0, sd = 15)

# Dodavanje outliera (viralni članci)
duljina_clanka <- c(duljina_clanka, 600, 750)
broj_komentara <- c(broj_komentara, 180, 220)

df_index <- data.frame(
  duljina = duljina_clanka,
  komentari = broj_komentara
)

r_val <- cor(df_index$duljina, df_index$komentari)

ggplot(df_index, aes(x = duljina, y = komentari)) +
  geom_point(alpha = 0.7, size = 2) +
  geom_smooth(method = "lm", se = TRUE, color = "black", fill = "gray80") +
  annotate("text", x = 400, y = 200,
           label = paste("r =", round(r_val, 2)),
           size = 4, fontface = "bold") +
  labs(
    title = "Duljina članka vs. Broj komentara (Index.hr)",
    subtitle = "Linija = linearna regresija | Sivo područje = 95% CI",
    x = "Duljina članka (riječi)",
    y = "Broj komentara"
  )
`geom_smooth()` using formula = 'y ~ x'
Figure 17.10: Odnos između duljine članka i broja komentara na portalu Index.hr. Linija linearne regresije i sivo područje (95%-tni interval pouzdanosti) sugeriraju slab pozitivan trend, ali dvije točke s izuzetno visokim brojem komentara jasno su vidljive kao outlieri. Bez dijagrama raspršenja, sama korelacija ne bi razotkrila ove ekstremne slučajeve.

U R-u se dijagram raspršenja kreira pomoću geom_point(), a linija regresije dodaje se s geom_smooth(method = "lm"). Korelacija nikad ne bi trebala biti izvještena bez vizualnog pregleda putem dijagrama raspršenja. Anscombeov kvartet je poznati primjer koji demonstrira da četiri potpuno različita skupa podataka mogu imati identične korelacijske koeficijente, identične prosjeke i identične standardne devijacije, a ipak pokazivati fundamentalno različite obrasce kada se vizualiziraju (Anscombe, 1973). Jedan skup može pokazivati linearni odnos, drugi krivolinijski, treći može imati jedan utjecajan outlier, a četvrti može imati potpuno drugačiju strukturu. Samo dijagram raspršenja otkriva ove razlike.

17.4.4 Stupčasti grafikon

Stupčasti grafikon (engl. bar plot) prikazuje frekvencije ili prosjeke za kategorijske varijable. Za analizu sadržaja medija, stupčasti grafikoni su prirodan izbor za prikaz distribucija tema, žanrova ili drugih nominalnih varijabli.

Code
# Podatci o distribuciji tema u vijestima HRT-a
teme_hrt <- data.frame(
  tema = c("Politika", "Gospodarstvo", "Kriminal", "Međunarodno",
           "Zdravstvo", "Sport", "Kultura", "Ostalo"),
  frekvencija = c(45, 28, 22, 20, 18, 15, 12, 10)
)

# Sortiranje prema frekvenciji
teme_hrt <- teme_hrt[order(-teme_hrt$frekvencija), ]
teme_hrt$tema <- factor(teme_hrt$tema, levels = teme_hrt$tema)

ggplot(teme_hrt, aes(x = tema, y = frekvencija)) +
  geom_col(fill = "gray50", color = "black", width = 0.7) +
  geom_text(aes(label = frekvencija), vjust = -0.5, size = 3.5) +
  labs(
    title = "Dominantne teme u HRT Dnevniku (170 izvještaja)",
    x = "",
    y = "Broj izvještaja"
  ) +
  ylim(0, 52) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
Figure 17.11: Distribucija tema u glavnim vijestima HRT-a. Stupci su sortirani prema frekvenciji, što olakšava vizualnu usporedbu. Politika je dominantna tema s 45 izvještaja, dok su kulturni sadržaji zastupljeni s tek 12 izvještaja, što ukazuje na izrazitu tematsku neravnotežu u medijskom prostoru.

U R-u se stupčasti grafikon kreira pomoću geom_col() ili geom_bar() iz paketa ggplot2. Osim jednostavnih frekvencija, stupčasti grafikoni mogu prikazivati grupiranu usporedbu (primjerice distribuciju tema na HRT-u, Nova TV-u i RTL-u usporedno kao grupirane stupce) ili usporedbu prosjeka između grupa. Pri kreiranju stupčastih grafikona za nominalne varijable bez inherentnog redoslijeda, korisno je sortirati stupce od najviše do najniže vrijednosti jer to olakšava usporedbe i čini graf informativnijim.

17.4.5 Principi učinkovite vizualizacije

Neovisno o vrsti grafa, nekoliko načela osigurava da vizualizacije komuniciraju jasno i točno. Samoobjasnljivost znači da graf mora biti razumljiv bez čitanja okolnog teksta, što zahtijeva jasne naslove, oznake osi s jedinicama mjerenja i legendu kada graf prikazuje više grupa. Minimalna dekoracija podrazumijeva izbjegavanje 3D efekata, nepotrebnih boja i dekorativnih elemenata koji ometaju čitanje podataka – Tufte (2001) je ovaj princip nazvao maksimiziranjem omjera podataka prema “tinti”. Pažljiv odabir skala osigurava da graf ne preuveličava niti umanjuje razlike; y-os stupčastih grafikona trebala bi uvijek počinjati od nule kako bi se izbjegle vizualne distorzije. Konačno, jasno razlikovanje grupa zahtijeva razlikovne oznake i legendu kada se prikazuje više grupa ili varijabli.

Sljedeća tablica sažima koji je tip vizualizacije najprikladniji za koji tip podataka i istraživačkog pitanja.

Table 17.6: Smjernice za odabir tipa vizualizacije prema vrsti podataka i istraživačkom pitanju. Ova tablica služi kao brza referenca za studente pri donošenju odluke o tome koji graf koristiti u konkretnoj situaciji.
Tip vizualizacije Vrsta podataka Istraživačko pitanje Funkcija u R-u (ggplot2)
Histogram Jedna numerička varijabla Kakav je oblik distribucije? geom_histogram()
Box plot Numerička po grupama Kako se distribucije razlikuju? geom_boxplot()
Dijagram raspršenja Dvije numeričke varijable Postoji li odnos između varijabli? geom_point()
Stupčasti grafikon Kategorijska varijabla Koje su kategorije najčešće? geom_col()

17.5 Cjeloviti primjer: od sirovih podataka do deskriptivnog izvještaja

Nakon pojedinačnog pregleda mjera centralne tendencije, mjera disperzije, standardizacije, korelacije i vizualizacije, korisno je pokazati kako se svi ovi elementi koriste zajedno u jednom cjelovitom istraživačkom procesu. Sljedeći primjer demonstrira kompletni tijek deskriptivne analize na simuliranim podacima o angažmanu čitatelja na hrvatskom informativnom portalu.

Zamislimo da je analitičar prikupio podatke o 150 članaka objavljenih na portalu Večernji.hr tijekom jednog mjeseca. Za svaki članak zabilježena je tematska kategorija, duljina članka u riječima, broj komentara i prosječno vrijeme čitanja u sekundama.

Code
set.seed(2024)

# Simulacija podataka o 150 članaka
n_clanaka <- 150
teme <- sample(c("Politika", "Gospodarstvo", "Sport", "Kultura", "Crna kronika"),
               n_clanaka, replace = TRUE, prob = c(0.30, 0.20, 0.20, 0.15, 0.15))

# Duljina članka ovisi o temi
duljina <- ifelse(teme == "Politika", rnorm(n_clanaka, 950, 200),
           ifelse(teme == "Gospodarstvo", rnorm(n_clanaka, 800, 180),
           ifelse(teme == "Sport", rnorm(n_clanaka, 500, 120),
           ifelse(teme == "Kultura", rnorm(n_clanaka, 1100, 250),
                  rnorm(n_clanaka, 650, 150)))))
duljina <- pmax(duljina, 100)  # minimalna duljina

# Broj komentara
komentari_sim <- 2 + 0.03 * duljina + rnorm(n_clanaka, 0, 10)
komentari_sim <- pmax(round(komentari_sim), 0)

# Prosječno vrijeme čitanja (sekunde)
vrijeme <- 30 + 0.12 * duljina + rnorm(n_clanaka, 0, 20)
vrijeme <- pmax(vrijeme, 15)

df_portal <- data.frame(
  tema = teme,
  duljina_rijeci = round(duljina),
  broj_komentara = komentari_sim,
  vrijeme_citanja = round(vrijeme)
)

# 1. KORAK: Pregled strukture podataka
cat("=== STRUKTURA PODATAKA ===\n")
=== STRUKTURA PODATAKA ===
Code
cat("Broj članaka:", nrow(df_portal), "\n")
Broj članaka: 150 
Code
cat("Varijable:", paste(names(df_portal), collapse = ", "), "\n\n")
Varijable: tema, duljina_rijeci, broj_komentara, vrijeme_citanja 
Code
# 2. KORAK: Deskriptivna statistika za numeričke varijable
cat("=== DESKRIPTIVNA STATISTIKA ===\n\n")
=== DESKRIPTIVNA STATISTIKA ===
Code
# Funkcija za izračun svih ključnih mjera
opisna_stat <- function(x, naziv) {
  cat(naziv, ":\n")
  cat("  M =", round(mean(x), 2),
      "| SD =", round(sd(x), 2),
      "| Mdn =", round(median(x), 2),
      "| IQR =", round(IQR(x), 2),
      "| Min =", min(x),
      "| Max =", max(x), "\n\n")
}

opisna_stat(df_portal$duljina_rijeci, "Duljina članka (riječi)")
Duljina članka (riječi) :
  M = 818.18 | SD = 284.93 | Mdn = 816 | IQR = 389.25 | Min = 253 | Max = 1607 
Code
opisna_stat(df_portal$broj_komentara, "Broj komentara")
Broj komentara :
  M = 27.34 | SD = 13.38 | Mdn = 28 | IQR = 20.75 | Min = 0 | Max = 59 
Code
opisna_stat(df_portal$vrijeme_citanja, "Vrijeme čitanja (sek)")
Vrijeme čitanja (sek) :
  M = 124.96 | SD = 39.08 | Mdn = 123 | IQR = 50.5 | Min = 24 | Max = 229 
Code
# 3. KORAK: Distribucija kategorijske varijable (mod)
cat("=== DISTRIBUCIJA TEMA ===\n")
=== DISTRIBUCIJA TEMA ===
Code
tablica_tema <- sort(table(df_portal$tema), decreasing = TRUE)
print(tablica_tema)

    Politika Gospodarstvo        Sport Crna kronika      Kultura 
          49           30           28           23           20 
Code
cat("Mod:", names(tablica_tema)[1], "\n\n")
Mod: Politika 
Code
# 4. KORAK: Korelacijska matrica
cat("=== KORELACIJSKA MATRICA ===\n")
=== KORELACIJSKA MATRICA ===
Code
korelacije <- cor(df_portal[, c("duljina_rijeci", "broj_komentara", "vrijeme_citanja")])
print(round(korelacije, 2))
                duljina_rijeci broj_komentara vrijeme_citanja
duljina_rijeci            1.00           0.66            0.87
broj_komentara            0.66           1.00            0.59
vrijeme_citanja           0.87           0.59            1.00
Code
library(patchwork)

# Histogram duljine članaka
p1 <- ggplot(df_portal, aes(x = duljina_rijeci)) +
  geom_histogram(bins = 20, fill = "gray60", color = "black") +
  labs(title = "Distribucija duljine članaka",
       x = "Duljina (riječi)", y = "Frekvencija")

# Box plot komentara po temama
p2 <- ggplot(df_portal, aes(x = reorder(tema, broj_komentara, FUN = median),
                             y = broj_komentara)) +
  geom_boxplot(fill = "gray80", color = "black") +
  labs(title = "Komentari po temama",
       x = "", y = "Broj komentara") +
  coord_flip()

# Dijagram raspršenja: duljina vs komentari
p3 <- ggplot(df_portal, aes(x = duljina_rijeci, y = broj_komentara)) +
  geom_point(alpha = 0.6, size = 1.5) +
  geom_smooth(method = "lm", se = TRUE, color = "black", fill = "gray80") +
  labs(title = paste("Duljina vs. komentari (r =",
                     round(cor(df_portal$duljina_rijeci, df_portal$broj_komentara), 2), ")"),
       x = "Duljina (riječi)", y = "Broj komentara")

# Stupčasti grafikon tema
tema_count <- as.data.frame(table(df_portal$tema))
names(tema_count) <- c("tema", "frekvencija")
tema_count <- tema_count[order(-tema_count$frekvencija), ]
tema_count$tema <- factor(tema_count$tema, levels = tema_count$tema)

p4 <- ggplot(tema_count, aes(x = tema, y = frekvencija)) +
  geom_col(fill = "gray50", color = "black") +
  geom_text(aes(label = frekvencija), vjust = -0.5, size = 3) +
  labs(title = "Distribucija tema",
       x = "", y = "Broj članaka") +
  ylim(0, max(tema_count$frekvencija) + 5) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

# Kombinacija svih grafova
(p1 + p2) / (p3 + p4)
`geom_smooth()` using formula = 'y ~ x'
Figure 17.12: Vizualni pregled podataka portala Večernji.hr. Gornji lijevi panel prikazuje distribuciju duljine članaka (histogram), gornji desni usporedbu broja komentara po temama (box plot), donji lijevi odnos duljine članka i broja komentara (dijagram raspršenja), a donji desni distribuciju tema (stupčasti grafikon).

Ovaj primjer ilustrira tipičan tijek deskriptivne analize u istraživanju masovne komunikacije. Analiza započinje pregledom strukture podataka, nastavlja se izračunom ključnih deskriptivnih mjera za svaku varijablu, a zaključuje vizualizacijom koja omogućuje brzo uočavanje obrazaca i potencijalnih problema. U R-u se čitav ovaj postupak može provesti u nekoliko desetaka linija koda, koristeći funkcije mean(), sd(), median(), IQR(), cor() i table() za numeričke izračune te paket ggplot2 za vizualizacije.


17.6 Sažetak poglavlja

Deskriptivna statistika pruža temeljne alate za sažimanje i opisivanje kvantitativnih podataka prikupljenih u istraživanju masovne komunikacije. Ovladavanje ovim tehnikama nužan je preduvjet za kompetentnu analizu i interpretaciju rezultata istraživanja.

Mjere centralne tendencije odgovaraju na pitanje koja je tipična vrijednost u podacima. Aritmetička sredina (\(\bar{X}\)) izračunava se zbrajanjem svih vrijednosti i dijeljenjem s brojem opservacija, koristi sve podatke i ima izvrsna matematička svojstva, ali je osjetljiva na ekstremne vrijednosti, te se preferira za intervalne i omjerne podatke sa simetričnom distribucijom. Medijan je srednja vrijednost u sortiranom nizu podataka, robustan je na outliere jer koristi samo informaciju o poziciji, i preferira se za ordinalne podatke ili kada distribucija sadrži ekstremne vrijednosti. Mod je vrijednost koja se pojavljuje najčešće, jedina je smislena mjera za nominalne podatke i može ukazati na postojanje više subgrupa u podacima kroz bimodalnu ili multimodalnu distribuciju. U R-u se ove mjere izračunavaju funkcijama mean(), median(), te kombinacijom table() i which.max().

Mjere disperzije kvantificiraju koliko su podaci raspršeni oko središnje vrijednosti. Raspon je razlika između maksimuma i minimuma – jednostavan ali potpuno osjetljiv na outliere. Međukvartilni raspon (IQR) je razlika između trećeg i prvog kvartila, robustan na outliere jer mjeri varijabilnost “srednje polovice” podataka. Varijanca (\(s^2\)) je prosječno kvadrirano odstupanje od prosjeka, matematički fundamentalna ali teško interpretabilna zbog kvadratnih jedinica. Standardna devijacija (\(s\)) je kvadratni korijen varijance, izražena u izvornim jedinicama i interpretira se pomoću empirijskog pravila prema kojem 68% podataka pada unutar jedne, 95% unutar dviju, a 99.7% unutar triju standardnih devijacija od prosjeka. U R-u se koriste funkcije range(), IQR(), var() i sd().

Standardizirani rezultati (z-vrijednosti) transformiraju sirove rezultate u broj standardnih devijacija od prosjeka prema formuli \(z = (X - \bar{X})/s\), čime centriraju distribuciju oko nule i skaliraju je na standardnu devijaciju od 1, omogućujući usporedbe između različitih skala. Pearsonov koeficijent korelacije (\(r\)) mjeri jačinu i smjer linearnog odnosa između dviju varijabli, varirajući od -1 do +1, a izračunava se kao standardizirana kovarijanca. Ključna napomena jest da korelacija ne implicira uzročnost, te su za kauzalne zaključke potrebni eksperimentalni dizajni ili napredne kauzalne metode. U R-u se koriste funkcije scale() za standardizaciju i cor() za korelaciju.

Vizualizacija podataka omogućuje intuitivnije razumijevanje distribucija i obrazaca. Histogram prikazuje oblik distribucije numeričke varijable, box plot sažima distribuciju kroz kvartile i identificira outliere, dijagram raspršenja prikazuje odnos između dviju numeričkih varijabli, a stupčasti grafikon prikazuje frekvencije kategorijskih varijabli. Sve vizualizacije u R-u kreiraju se paketom ggplot2 pomoću funkcija geom_histogram(), geom_boxplot(), geom_point() i geom_col().

Pri izvještavanju rezultata, aritmetička sredina uvijek se navodi zajedno sa standardnom devijacijom (\(M\), \(SD\)), dok se medijan navodi s međukvartilnim rasponom (\(Mdn\), \(IQR\)). Brojke se zaokružuju na dvije decimale i uvijek se kontekstualiziraju objašnjavajući što znače u kontekstu istraživačkog pitanja. Vizualizacije služe kao dopuna numeričkim statistikama, ne kao njihova zamjena, i mogu otkriti obrasce koje same brojke ne pokazuju.

Valjano provođenje deskriptivne analize čini temelj svake naprednije statističke obrade. Prije nego što se pristupi testiranju hipoteza (poglavlje 9) ili regresijskoj analizi (poglavlje 10), nužno je temeljito upoznati podatke kroz deskriptivnu statistiku. Ova faza analize omogućuje otkrivanje potencijalnih problema u podacima, poput outliera ili neočekivanih distribucija, informira odluke o prikladnim statističkim metodama i pruža kontekst za interpretaciju naprednih analiza. Deskriptivna statistika nije samo “uvodni korak” – ona je integralni dio svakog kvalitetnog istraživanja koji omogućuje dublje razumijevanje fenomena koji se istražuje.


  1. Detaljnije objašnjenje zašto se dijeli s \(N-1\) umjesto \(N\) daje se u poglavlju 9, u kontekstu razlikovanja statistika uzorka i parametara populacije.↩︎