# dette er r-info01.txt av a.t. # et slikt tegn som dette er kommentar # det kan vaere greit aa bruke pakken RKward # pga alle hjelpe-funksjonene og manual-delene # og eksemplene. # RKward startes normalt gjennom et klikk paa et icon, # og kan brukes ogsaa uten internett-forbindelse aktiv # brukes manualen i ett vindu, kan man ha # R programmering som styres via tekst i et # annet vindu # R startes ved at man taster bokstaven R # (ikke liten r men stor R) og preser linjeskift # etter at man har aapnet et Terminal vindu # R avsluttes ved at man taster inn quit() # og deretter (normalt) svarer paa # spoersmaalet om 'save workspace' med n # Terminal-vinduet kan lukkes ved at man taster # exit og presser linjeskift. # her er et eksempel for aa komme igang med aa se # at R er riktig installering i maskinen og at # den kan generere grafikk. Disse eksemplene er # fra manualen som foelger med. Hver av disse avsnittene # kan man markere, deretter copy, og mens man er i # terminal-vindu der R er startet opp # kan man hoeyre-klikke musen og # velge paste. (paa apple klikkes en eple-tast og # og musen istedenfor at man hoeyre-klikker.) # den foerste kommandoen henter inn den vanlige # grafikk-pakken grid require(grid) # de to neste linjene # lager tilfeldige data som gis navnene x og y x <- runif(10) y <- runif(10) # dette avsnittet forbereder data for plotting # basert paa x og y data.vp <- viewport(x = unit(5, "lines"), y = unit(4, "lines"), width = unit(1, "npc") - unit(7, "lines"), height = unit(1, "npc") - unit(7, "lines"), just = c("left", "bottom"), xscale = range(x) + c(-0.05, 0.05)*diff(range(x)), yscale = range(y) + c(-0.05, 0.05)*diff(range(y))) # viewport er at man knytter tallene til grafikken, # og henter frem grafikken -- popViewport() betyr # at et grafisk vindu spretter frem. Naar dette # avsnittet pastes inn, burde grafikken vises! pushViewport(data.vp) grid.points(x, y) grid.rect() grid.xaxis() grid.yaxis() grid.text("x axis", y = unit(-3, "lines"), gp = gpar(fontsize = 14)) grid.text("y axis", x = unit(-4, "lines"), gp = gpar(fontsize = 14), rot = 90) grid.text("A Simple Plot", y = unit(1, "npc") + unit(1.5, "lines"), gp = gpar(fontsize = 16)) popViewport() # neste eksempel bruker de samme data vist # paa samme maate men har # dato tekst ogsaa pushViewport(data.vp) grid.text(date(), x = unit(1, "npc"), y = 0, just = c("right", "bottom"), gp = gpar(col="grey")) grid.points(x, y) grid.rect() grid.xaxis() grid.yaxis() grid.text("x axis", y = unit(-3, "lines"), gp = gpar(fontsize = 14)) grid.text("y axis", x = unit(-4, "lines"), gp = gpar(fontsize = 14), rot = 90) grid.text("A Simple Plot", y = unit(1, "npc") + unit(1.5, "lines"), gp = gpar(fontsize = 16)) popViewport() # en alternativ graf: # vi kan samle ting i en ny funksjon, som # vi definerer. Her heter den splot. Denne defineres # fra { paa foerste linje, til og med } paa siste linje. # funksjonen brukes i neste avsnitt til aa lage en # graf som ogsaa har tekst. Naar det neste avsnittet # pastes inn, er det korrekt at R gir ingen som helst # melding tilbake ("no news is good news"). Funksjonen # skal brukes i avsnittet som foelger. splot <- function(x = runif(10), y = runif(10), title = "A Simple Plot") { data.vp <- viewport(name = "dataregion", x = unit(5, "lines"), y = unit(4, "lines"), width = unit(1, "npc") - unit(7, "lines"), height = unit(1, "npc") - unit(7, "lines"), just = c("left", "bottom"), xscale = range(x) + c(-.05, .05)*diff(range(x)), yscale = range(y) + c(-.05, .05)*diff(range(y))) pushViewport(data.vp) grid.points(x, y) grid.rect() grid.xaxis() grid.yaxis() grid.text("y axis", x = unit(-4, "lines"), gp = gpar(fontsize = 14), rot = 90) grid.text(title, y = unit(1, "npc") + unit(1.5, "lines"), gp = gpar(fontsize = 16)) upViewport() } # her brukes funksjonen splot og vi lager # en tekst som gaar sammen med den, slik at # grafikken blir mer lesbar grid.rect(gp = gpar(fill = "grey")) message <- paste("I could draw all sorts", "of stuff over here", "then create a viewport", "over there and stick", "a scatterplot in it.", sep = "\n") grid.text(message, x = 0.25) grid.lines(x = unit.c(unit(0.25, "npc") + 0.5*stringWidth(message) + unit(2, "mm"), unit(0.5, "npc") - unit(2, "mm")), y = 0.5, arrow = arrow(angle = 15, type = "closed"), gp = gpar(lwd = 3, fill = "black")) pushViewport(viewport(x = 0.5, height = 0.5, width = 0.45, just = "left", gp = gpar(cex = 0.5))) grid.rect(gp = gpar(fill = "white")) splot(1:10, 1:10, title = "An Embedded Plot") upViewport() # dette var eksemplene for aa komme igang med R. # For aa avslutte R, tast quit() # og bekreft at workspace ikke skal lagres.