R – gratis avansert statistikkverktøy – også for psykologer

I løpet av stu­die­tida blir alle kjent med ei eller fle­re sta­ti­stikk­pak­ker, og noen av oss bru­ker dem (eller and­re) også etter stu­die­tida. Det som er fel­les for de pak­ke­ne som vi blir kjent med i stu­die­tida, er at de er dyre. Mini­tab kos­ter ca. 10 000,-; SPSS fra ca. 35 000 og opp­over – der­som man kjø­per dem i online-butik­ke­ne.

Og man må gjer­ne kjø­pe rela­tivt dyre vari­an­ter for­di funk­sjo­na­li­tet som f.eks. fak­tor­ana­ly­se kos­ter eks­tra.

Selv om man ikke job­ber med forsk­ning, kan det være greit å kun­ne gjø­re enk­le sta­tis­tis­ke ana­ly­ser på egne under­sø­kel­ser – spørre­skje­ma­er til kli­en­ter, f.eks. Excel har noen mulig­he­ter for deskrip­tiv sta­ti­stikk, men mang­ler verk­tøy for regre­sjons­ana­ly­se og fak­tor­ana­ly­se.

Om gratis programvare

Gra­tis høy­kva­li­tets soft­ware har eksis­tert siden data­ma­ski­ne­nes barn­dom. Min gene­rel­le erfa­ring som bru­ker av fri soft­ware siden ca. 1989, er at den soft­waren som er utvik­let av ner­der (ordet nerd her brukt i ordets mest posi­ti­ve for­stand) for ner­der stort sett er av svært høy kva­li­tet. Det sis­te sto­re sta­tis­tis­ke arbei­det jeg gjor­de, ble utført i R (gra­tis), redi­gert i GNU Emacs (gra­tis), og for­ma­tert med TeX (gra­tis). Det ble et nyde­lig PDF-doku­ment. Hvis tid er pen­ger, er arbei­det jeg la ned i å lære meg dem ikke gra­tis.

Her skul­le jeg sik­kert skre­vet noe om gra­tis pro­gram­vare, fri pro­gram­vare, og åpen kilde­kode – men det vil føre for langt: R er gra­tis å las­te ned og gra­tis å bru­ke både kom­mer­si­elt og i forsk­ning. Det fin­nes kom­mer­si­el­le utvi­del­ser av R for tung­reg­ning i sto­re mil­jø­er.

Om å bruke R

Installering

Før noe annet, må du instal­le­re R.

Du åpner nett­le­se­ren din i http://cran.uib.no/, hvor du vil fin­ne lin­ker for å las­te ned R, samt instruk­sjo­ner for å instal­le­re, R til Macin­tosh, Linux eller Win­dows.

Mitt første møte med … R

Du slip­per ikke unna å måt­te tas­te inn kom­man­do­er – sånn som vi gjor­de i de gam­le utga­ve­ne av SPSS, før SPSS fikk meny­er og vin­du­er. R kom­mer i og for seg også med meny­er og vin­du­er, men tas­te koder må du nok like­vel. Det er dog ikke så sært som i SPSS. Muli­gens.

Hvis du er en typisk psy­ko­log (sor­ry …) sit­ter du anta­ge­lig på en PC med Win­dows. Og har ingen anel­se om hva CMD.EXE er. Så du vil ha et gra­fisk bru­ker­grense­snitt. R kom­mer fer­dig med et svært enkelt et.

Hvis du er i Win­dows 10, så kan du få opp R ved å klik­ke på Win­dows-meny­en (nederst til venst­re), velg «Alle Apper», bla deg fram til «R » og velg «R x64» hvis du har dét val­get, eller «R i386». Er du på Mac, så velg «R » fra «Programmer»-menyen. Er du på Linux, antar jeg at du vet hva du gjør.

Du skal få opp et vin­du som ser omtrent sånn ut.

RGui

Plas­ser mar­kø­ren (muspe­ke­ren) til høy­re for «>»-teg­net rett under teks­ten «Type ‘q()’ to quit R».

Dvs. der hvor det står «>». Så tast inn de førs­te fam­len­de for­sø­ke­ne dine i R:

> 2+2
[1] 4

I oven­stå­en­de og føl­gen­de eksemp­ler står det du skal tas­te i blått, og det R sva­rer i svart.

Du har nå fått R til å reg­ne ut at 2+2=4. Det er ikke så verst, men R kan bed­re. Sett at du har spurt kli­en­te­ne dine hvor­dan de føler seg etter en time hos deg, på en ska­la fra 1 – 7. Ti kli­en­ter sva­rer hen­holds­vis 3,6,3,4,6,4,7,5,2 og 7. Hva er gjen­nom­snit­tet?

Bare tast inn, i R : kli­en­ter <- c(3,6,3,4,6,4,7,5,2,7). Slik blir det seen­de ut:

> klienter <- c(3,6,3,4,6,4,7,5,2,7)

Da har du til­eg­net objek­tet kli­en­ter ei lis­te med skå­rer. Hvis du vil ha gjen­nom­snit­tet, skri­ver du:

> mean(klienter)
[1] 4.7

Det er jo ikke så spen­nen­de … men så tas­ter du inn «summary(klienter)»:

> summary(klienter)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   2.00    3.25    4.50    4.70    6.00    7.00

Vips! R for­tel­ler deg litt om medi­an, arit­met­risk gjen­nom­snitt (mean), kvarti­ler, max. ‑og min-ver­di. Men … du øns­ker vel gjer­ne mer enn det?

R kom­mer ikke med all­ver­den inne­byg­get – du må las­te inn biblio­te­ker (pak­ker med funk­sjo­ner og data) for å kun­ne bru­ke R til noe sær­lig. En måte å få ut mer inter­es­sant sta­ti­stikk, er å hen­te inn «psych»-biblioteket, og så be om deskrip­tiv sta­ti­stikk. Du gir R kjenn­skap til det som føl­ger:

> install.packages("psych",repos="http://cran.uib.no")

Det kom­mer mas­se mel­din­ger, og med­mind­re den aller sis­te for­tel­ler at noe gikk galt, har du pak­ka inne. Det­te gjør du én gang for alle. Når du først har gjort det­te, kan du gjø­re som føl­ger:

> library(psych)
> describe(klienter)
   vars  n mean   sd median trimmed  mad min max range  skew kurtosis   se
X1    1 10  4.7 1.77    4.5    4.75 2.22   2   7     5 -0.03    -1.65 0.56

Skjøn­ner? Plut­se­lig har du atskil­lig mer.

Du tren­ger ikke tas­te inn library(psych) hver gang du vil bru­ke funk­sjo­ne­ne. Det er man­ge måter å unn­gå slikt unød­ven­dig mer­ar­beid på.

Å spare arbeid

R kan natur­lig­vis lese doku­men­ter med R ‑kode.

I meny­en File kan du vel­ge New script. Da kom­mer det opp et vin­du hvor du kan tas­te inn R ‑kode. Koden kan da kjø­res i R ved å vel­ge File og så Source R Code. Det­te er en gans­ke enkel edi­tor, det fin­nes mer avan­ser­te verk­tøy for å skri­ve kode i R. Men da har du alt­så en enkel mulig­het for å end­re, lag­re og kjø­re kode uten å måt­te tas­te inn alt på nytt hver gang.

Hvordan finne ut mer?

R er alt­så gra­tis, men det tar tid å lære seg å bru­ke det. Det fin­nes gra­tis (og kom­mer­si­el­le) bru­ker­grense­snitt som gjør at man kan kom­me et styk­ke uten pro­gram­me­ring.

  • Using R for psycho­lo­gical Rese­arch R er mye brukt blant psy­ko­lo­ger. Den­ne web­sida tar for seg R for psy­ko­lo­ger
  • Intro to R for Psycho­lo­gists Den­ne boka tar stort sett for seg det du tren­ger å vite.
  • The Art of R Pro­gram­ming: A Tour of Sta­ti­s­ti­cal Soft­ware Design Den­ne er for videre­kom­men­de. Hvis det størs­te pro­ble­met du har med SPSS er at det er få mulig­he­ter for skred­der­søm og pro­gram­me­ring, slik at du fak­tisk har behov for R som pro­gram­me­ring­om­gi­vel­se, er det­te boka for deg. Ingen bok om R har gitt meg så man­ge aha-opp­le­vel­ser som den­ne.
  • RStu­dio RStu­dio er et gra­fisk bru­ker­grense­snitt som gjør R noe mer beha­ge­lig å bru­ke, selv for pro­gram­me­re­re. Det­te doku­men­tet er skre­vet i RStu­dio, og over­satt til Word fra R.

Veien videre

Så langt har jeg skre­vet føl­gen­de om R:

  1. At R fin­nes
  2. Hvor­dan du instal­le­rer R
  3. Hvor­dan du star­ter R
  4. Hvor­dan du får gjort noen nok­så pus­le­te små­ting i R
  5. Hvil­ke res­sur­ser som fin­nes for å bli god

I nes­te artik­kel om R ten­ker jeg å skri­ve litt om hvor­dan man kom­mer i gang med å lese inn data og bear­bei­de dem, samt å sva­re på spørs­mål som skul­le kom­me i for­bin­del­se med den­ne artik­ke­len.

nb_NONorwegian