R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Millimetripaperia automaattisesti

R-Help -postilistalla oli vastikään mielenkiintoinen kysymys millimetripaperin tuottamisesta R:llä. Tähän tarvitaan laajennuspaketti grid, mutta sen asentamisen jälkeen työ käy helposti (koodi kopioitu suoraan ylle linkatusta postista):

library(grid)
pdf("grid.pdf", width=21/2.54,height=29.7/2.54)
grid.grill(h = unit(seq(0, 297, by=1), "mm"),
           v = unit(seq(0, 210, by=1), "mm"), gp=gpar(col="grey",lwd=0.1))
grid.grill(h = unit(seq(0, 297, by=5), "mm"),
           v = unit(seq(0, 210, by=5), "mm"), gp=gpar(col="grey20",lwd=0.2))
grid.grill(h = unit(seq(0, 29.7, by=1), "cm"),
           v = unit(seq(0, 21, by=1), "cm"), gp=gpar(col="black",lwd=1))
dev.off()

Tuloksena on seuraavanlainen ruudukko, jonka voi sitten tulostaa paperille:

Samassa keskustelussa mainittiin myös komento grid(), joka tuottaa automaattisesti vaalean harmaan ruudukon esimerkiksi hajontakuvion taa. Perinteinen tapa on ollut käyttää komentoa abline() esimerkiksi seuraavasti:

plot(0,0,type="n")
abline(h=c(-1,0,1), col="grey75")
abline(v=c(-1,0,1), col="grey75")
points(x=seq(-1,1,0.05), rnorm(41), pch=16)

Komentoa grid() käyttäen sama koodi yksinkertaistuu muotoon:

plot(0,0,type="n")
grid()
points(x=seq(-1,1,0.05), rnorm(41), pch=16)

Alla olevassa kuvassa on esitetty molempien tapojen tuottamat hajontakuviot alekkain:


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *