Tormod Bøe
RKBU, Uni helse, Uni research
Det kan være nyttig å tenke på R som et statistisk operativsystem som kan bygges ut med programmer etter behov, eller som en smarttelefon som man kan installere apper på.
base inneholder en rekke statistiske funksjonerpackages inneholder ulike tilleggsfunksjoner Det finnes mer enn 4,400 pakker tilgjengelig gjennom CRAN, og man kan få tilgang på enda flere funksjoner ved å installere fra andre kilder som for eksempel github.
En del pakker er tematisk organisert under Task Views.
R er ekstremt godt dokumentert, det er svært mye brukt og det finnes derfor en nærmest endeløs mengde informasjon og hjelp tilgjengelig.
Det finnes også etterhvert mange bøker tilgjengelig, en del av de som er publisert på Springer kan man laste ned gratis via universitetsbiblioteket. Det kan være bra å starte her:
Noen gode kilder på nett er:
rhelp og merreproduserbare artikler med kode og tekst i samme dokument...data (mtcars)
require (xtable)
options (xtable.type = 'html')
xtable (head(mtcars, summary = FALSE))
| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Mazda RX4 | 21.00 | 6.00 | 160.00 | 110.00 | 3.90 | 2.62 | 16.46 | 0.00 | 1.00 | 4.00 | 4.00 |
| Mazda RX4 Wag | 21.00 | 6.00 | 160.00 | 110.00 | 3.90 | 2.88 | 17.02 | 0.00 | 1.00 | 4.00 | 4.00 |
| Datsun 710 | 22.80 | 4.00 | 108.00 | 93.00 | 3.85 | 2.32 | 18.61 | 1.00 | 1.00 | 4.00 | 1.00 |
| Hornet 4 Drive | 21.40 | 6.00 | 258.00 | 110.00 | 3.08 | 3.21 | 19.44 | 1.00 | 0.00 | 3.00 | 1.00 |
| Hornet Sportabout | 18.70 | 8.00 | 360.00 | 175.00 | 3.15 | 3.44 | 17.02 | 0.00 | 0.00 | 3.00 | 2.00 |
| Valiant | 18.10 | 6.00 | 225.00 | 105.00 | 2.76 | 3.46 | 20.22 | 1.00 | 0.00 | 3.00 | 1.00 |
Litt data og en kjapp regresjonsanalayse:
temperatur <- c (10 , 15 , 20 , 25 , 30)
solgte_is <- c (150 , 180 , 190 , 200 , 210)
drukningsulykker <- c (0, 2, 4, 6, 8 )
fit1 <- lm (drukningsulykker ~ solgte_is)
fit2 <-lm (drukningsulykker ~ solgte_is + temperatur)
Og rapportering med tekst og kode: "Det var en høy positiv korrelasjon mellom solgte is og drukningsulykker (r = 0.9615), og issalg var en signifikant prediktor for drukningsulykker (b = 0.0378, p = 0.0162). Justert for temperatur, falt imidlertid sammenhengen mellom isspising og drukningsulykker bort (b = 0.0025, p = 0.9217)."
Behind the scenes:
...korrelasjon mellom solgte is og drukning (r = 'r cor(temp,is)')...
...signifikant prediktor for drukning (b = 'r fit1$coefficients[[2]]', p = 'r sum1$coefficients[[8]]')...
...isspising og drukningsulykker bort (b = 'r fit2$coefficients[[2]]', p = 'r sum2$coefficients[[11]]')...
require (ggplot2)
qplot (temperatur, solgte_is))
par(mfrow = c(2, 2))
plot(fit2)
Nye pakker installeres fra R
> install.packages("NAVN HER", dep = TRUE) # installerer pakker og andre pakker som den avhenger av, f.eks.
> install.packages("ggplot2", dep = TRUE) # og taes i bruk med kommandoen `library("NAVN HER")'
> library(ggplot2) # kommentarer i koden markeres ved "#"
Sjekk ut crantastic for å finne populære pakker med brukervurdering.
Markdown og knitr i i RStudio lar deg kombinere kode og tekst (uten å måtte forholde deg til sweave og tex). Et lite eksempel jeg laget med data fra levekårsundersøkelsen i Bergen.
Slidify lar deg lage html5 presentasjoner med RStudio, markdown og R (som den du ser på akkurat nå)
Flere gratis kurs fra coursera er basert på bruk av R
Til slutt en avsluttende kommentar fra djevelens advokat med introduksjonen:
...det er selvfølgelig ikke alt som er perfekt med R (heller)...