Org & R via Babel Example
1. Overview
The following is a quick example of a document created in org-mode which uses org-babel to allow inline R code to produce graphs.
2. Alphabits
I like cereal, especially when it spells.
Graph courtesy of http://addictedtor.free.fr/graphiques/sources/source_78.R
# Data from org doublePlot = function (base, plotFunc, pngopts = c( width = 1024, height = 500 ), pdfopts = c( width = 10, height = 7.5, paper = 'usr') ) { # basename from org-babel myPng = paste(base,"png",sep=".") myPdf = paste(base,"pdf",sep=".") png(myPng, pngopts ) plotFunc() dev.off() pdf(myPdf, pdfopts) plotFunc() dev.off() } doublePlot(base=basename, plotFunc = function() { x <- pmin(3, pmax(-3, rnorm(50))) y <- pmin(3, pmax(-3, rnorm(50))) xhist <- hist(x, breaks=seq(-3,3,0.5), plot=FALSE) yhist <- hist(y, breaks=seq(-3,3,0.5), plot=FALSE) top <- max(c(xhist$counts, yhist$counts)) xrange <- c(-3,3) yrange <- c(-3,3) nf <- layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), c(3,1), c(1,3), TRUE) #layout.show(nf) par(mar=c(3,3,1,1)) plot(x, y, xlim=xrange, ylim=yrange, xlab="", ylab="") par(mar=c(0,3,1,1)) barplot(xhist$counts, axes=FALSE, ylim=c(0, top), space=0) par(mar=c(3,0,1,1)) barplot(yhist$counts, axes=FALSE, xlim=c(0, top), space=0, horiz=TRUE) })
3. Thanks!
Org-mode rocks.