Tenkte jeg skulle skrive litt om R. SPSS er dyrt, og det er stort sett bare rike institusjoner som har råd til det, R koster ingenting i innkjøp, men det er litt terskel for å komme i gang. Så jeg tenkte jeg skulle skrive litt om hvordan man, rent praktisk, kommer i gang med å bruke R hvis man plutselig er i en situasjon hvor man jobber et sted som ikke har råd til SPSS.
1. Installere R
Det første du må gjøre, rimeligvis, er å få tak i softwaren og installere den. Så, hvordan gjør du det? Jo, du går på http://cran.uib.no/ og der får du de instruksene du trenger. R finnes til Mac, Linux og Windows, og har du et tredje alternativ, vil jeg tro du er ekspert og kan finne ut av dette sjøl. Jeg sitter på Mac, og skal prøve å ta hensyn til at leseren kanskje har noe annet. Si gjerne fra hvis du er på en av de kjente platformene og får problemer med å laste ned, så kan jeg evt. utbrodere instruksjonene.- Er du på Windows, vil du gå hit.
- Er du på Mac, vil du gå hit.
- Er du på Linux, får vi håpe du vet hva du gjør.
- Glem ikonene før du kan veldig mye. De bare forvirrer. De er nyttige men de gjør ikke det du tror.
- Du må taste inn ting. Det er ikke pek og klikk.
- Du må vite hvor på disken du har ting.
2. Hente inn data
For at du skal få en opplevelse av mestring, så tenkte jeg vi skulle begynne enkelti: Vi har ei datafil på nett, og den skal du klare å laste inn. Du går på kommandoprompet, som ser sånn ut:>og taster inn
data <- file ("http://blog.grendel.no/wp-content/uploads/2012/02/dagbladskoletull.tab",encoding="utf-8",open="r")da skal skjermen se sånn ut:
> data <- file ("http://blog.grendel.no/wp-content/uploads/2012/02/dagbladskoletull.tab",encoding="utf-8",open="r") >Det vi har gjort nå, er å si til R at R skal hente inn i minnet sitt et dokument som ligger ute på nett, det er kodet i et dataformat som heter utf‑8 (alternativ som du kanskje kjenner igjen er ASCII eller ANSI), og vi skal kunne lese det. Hvis du nå sier
datatil R, så får du vite hva R forstår av det du har gjort. Da skal vinduet se sånn ut:
> data description "http://blog.grendel.no/wp-content/uploads/2012/02/dagbladskoletull.tab" class "url" mode "r" text "text" opened "opened" can read "yes" can write "no"Det du har gjort nå, er å si til R at symboldet data skal inneholde en referanse til datasettet, som da er ei fil som ligger ute på nettet. Du kunne kalt data hva som helst, det er ikke farlig. Alternativer er naturligvis
> data <- file ("~/Users/meg/Documents/dagbladskoletull.tab",encoding="utf-8",open="r")
for Mac-brukere, eller
> data <- file ("C://My Documents/dagbladskoletull.tab",encoding="utf-8",open="r")R er ikke noe glad i å lese Excel-filer, selv om R kan det. Så langt ønsker jeg på en måte bare å komme i gang tilstrekkelig til å kunne hente inn et datasett og gjøre noe med det. Du får selv oversette dette til datasettet du ønsker å jobbe med. Men både Excel og SPSS kan lett lagre tekst-filer. Det er ikke så enkelt som at du nå bare kan gjøre noe med dataene. Du har opprettet en forbindelse til dem, men du har ikke hentet dem inn i R ennå. Det gjør du ved å si dette:
dagbladskoletull <- read.table ( file = data, header = FALSE, sep ="t")Hvis R ikke sier noe til deg, men bare svarer med
>så har du gjort det riktig. Du har åpnet en forbindelse med dataene og fått R til å lese inn data derfra. Det er en grunn til at det er to trinn og ikke et, men den er teknisk, så den hopper vi over. Det du har gjort er å si til R at symbolet dagbladskoletull skal bli assosiert med datene som symboldet data referer til. Øverste linje inneholder ikke navn på dataene, og dataene er skilt med tab-tegn (t). Hade det vært komma-separert (og da hadde filnavnet gjerne sluttet med .csv) så hadde det stått sep = «,». sier du nå
names(dagbladskoletull)Vil R svare
[1] "V1" "V2" "V3" "V4" "V5" "V6" "V7" "V8" "V9" "V10" "V11" "V12" "V13" "V14" "V15" [16] "V16" "V17"
>Fordi vi har subbet inn et datasett med 17 variable uten å gi dem navn. Det gjør vi sånn:
install.packages("reshape") library(reshape) names(E) <- c ("Kommune", "Resultat på nasjonale prøver", "Dagbladets rangering", "Gjennomsnittlig grunnskolepoeng", "Driftsutgifter", "Gjennomsnittlig gruppestørrelse", "Andel elever med direkte overgang fra grunnskole til videregående opplæring", "Andel lærere med universitetsutdannelse", "Mobbing", "Folketall", "Kommunenummer", "Engelskresultat", "Norskresultat", "Matteresultat", "Andel med grunnskole", "Andel med videregående skole", "Andel med universitetsutdannelse")Dataene er hentet fra Dagbladets serie om skole-Norge som de kjørte sommeren 2010. Jeg har lagt til noen data fra Statistisk Sentralbyrå sjøl. Alle dataene er offentlig tilgjengelige. Det første vi skal gjøre omfatter noen besvergelser igjen. Bare tast inn dette:
install.packages("psych") library(psych) describe(dagbladskoletull)Så får du ut
var n mean Kommune* 1 430 215.50 Resultat på nasjonale prøver 2 403 209.73 Dagbladets rangering 3 404 196.12 Gjennomsnittlig grunnskolepoeng 4 415 97.38 Driftsutgifter 5 415 86.13 Gjennomsnittlig gruppestørrelse 6 415 1850.34 Andel elever med direkte overgang fra grunnskole til videregående opplæring 7 415 11.94 Andel lærere med universitetsutdannelse 8 415 39.63 Mobbing 9 415 1.46 Folketall 10 430 11482.01 Kommunenummer 11 430 1185.80 Engelskresultat 12 407 2.94 Norskresultat 13 408 3.04 Matteresultat 14 392 3.02 Andel med grunnskole 15 430 33.98 Andel med videregående skole 16 430 19.90 Andel med universitetsutdannelse 17 430 46.12 sd median Kommune* 124.27 215.50 Resultat på nasjonale prøver 119.44 210.00 Dagbladets rangering 117.33 186.00 Gjennomsnittlig grunnskolepoeng 2.90 98.00 Driftsutgifter 6.86 86.70 Gjennomsnittlig gruppestørrelse 568.45 1743.00 Andel elever med direkte overgang fra grunnskole til videregående opplæring 2.38 12.00 Andel lærere med universitetsutdannelse 3.37 39.70 Mobbing 0.16 1.45 Folketall 35013.81 4559.50 Kommunenummer 577.88 1241.50 Engelskresultat 0.24 2.90 Norskresultat 0.27 3.00 Matteresultat 0.25 3.00 Andel med grunnskole 6.57 33.10 Andel med videregående skole 5.62 18.90 Andel med universitetsutdannelse 4.53 46.55 trimmed mad Kommune* 215.50 159.38 Resultat på nasjonale prøver 209.96 152.71 Dagbladets rangering 194.51 142.33 Gjennomsnittlig grunnskolepoeng 97.85 2.97 Driftsutgifter 86.46 6.23 Gjennomsnittlig gruppestørrelse 1798.49 459.61 Andel elever med direkte overgang fra grunnskole til videregående opplæring 11.99 2.52 Andel lærere med universitetsutdannelse 39.75 1.63 Mobbing 1.45 0.15 Folketall 6216.65 4309.18 Kommunenummer 1212.38 753.16 Engelskresultat 2.94 0.30 Norskresultat 3.03 0.30 Matteresultat 3.01 0.15 Andel med grunnskole 33.49 5.56 Andel med videregående skole 19.22 4.67 Andel med universitetsutdannelse 46.45 4.52 min max Kommune* 1.0 430.0 Resultat på nasjonale prøver 1.0 415.0 Dagbladets rangering 2.0 409.0 Gjennomsnittlig grunnskolepoeng 82.0 100.0 Driftsutgifter 43.8 100.0 Gjennomsnittlig gruppestørrelse 0.0 4519.0 Andel elever med direkte overgang fra grunnskole til videregående opplæring 4.5 17.4 Andel lærere med universitetsutdannelse 0.0 49.1 Mobbing 1.0 2.4 Folketall 215.0 605005.0 Kommunenummer 101.0 2030.0 Engelskresultat 2.1 3.6 Norskresultat 2.2 4.1 Matteresultat 2.2 4.7 Andel med grunnskole 17.6 63.8 Andel med videregående skole 9.2 46.9 Andel med universitetsutdannelse 26.9 56.8 range skew Kommune* 429.0 0.00 Resultat på nasjonale prøver 414.0 -0.02 Dagbladets rangering 407.0 0.10 Gjennomsnittlig grunnskolepoeng 18.0 -1.68 Driftsutgifter 56.2 -0.96 Gjennomsnittlig gruppestørrelse 4519.0 1.06 Andel elever med direkte overgang fra grunnskole til videregående opplæring 12.9 -0.24 Andel lærere med universitetsutdannelse 49.1 -7.71 Mobbing 1.4 1.00 Folketall 604790.0 12.63 Kommunenummer 1929.0 -0.29 Engelskresultat 1.5 -0.10 Norskresultat 1.9 0.13 Matteresultat 2.5 0.99 Andel med grunnskole 46.2 0.89 Andel med videregående skole 37.7 1.42 Andel med universitetsutdannelse 29.9 -0.75 kurtosis se Kommune* -1.20 5.99 Resultat på nasjonale prøver -1.19 5.95 Dagbladets rangering -1.18 5.84 Gjennomsnittlig grunnskolepoeng 4.13 0.14 Driftsutgifter 3.36 0.34 Gjennomsnittlig gruppestørrelse 2.31 27.90 Andel elever med direkte overgang fra grunnskole til videregående opplæring -0.17 0.12 Andel lærere med universitetsutdannelse 91.27 0.17 Mobbing 3.45 0.01 Folketall 199.96 1688.52 Kommunenummer -1.19 27.87 Engelskresultat 0.56 0.01 Norskresultat 0.62 0.01 Matteresultat 5.72 0.01 Andel med grunnskole 1.56 0.32 Andel med videregående skole 3.07 0.27 Andel med universitetsutdannelse 0.91 0.22Og dette er noe psykologer burde kjenne igjen … Er det ting som er vanskelig å skjønne her eller dålig forklart, i ifra, så skal jeg oppdatere teksten. Hvis det blir nok positive tilbakemeldinger, dekker jeg regresjonsanalyse neste gang 🙂