While I still prefer using Github Gists for archiving and version control, there's an alternative that works where javascript doesn't. Inside-R has a nice tool - Pretty R Syntax Highlighter - where you simply paste in your R code, and it generates HTML code that syntax-highlights your R code. What's more, functions in your R code link back to the documentation on inside-R.org. Here's an example of some code I posted a while back on making QQ plots of p-values using R base graphics.
Without any highlighting, it's hard to read, and spacing isn't faithfully preserved:
# Define the function
ggd.qqplot = function(pvector, main=NULL, ...) {
o = -log10(sort(pvector,decreasing=F))
e = -log10( 1:length(o)/length(o) )
plot(e,o,pch=19,cex=1, main=main, ...,
xlab=expression(Expected~~-log[10](italic(p))),
ylab=expression(Observed~~-log[10](italic(p))),
xlim=c(0,max(e)), ylim=c(0,max(o)))
lines(e,e,col="red")
}
#Generate some fake data that deviates from the null
set.seed(42)
pvalues=runif(10000)
pvalues[sample(10000,10)]=pvalues[sample(10000,10)]/5000
# pvalues is a numeric vector
pvalues[1:10]
# Using the ggd.qqplot() function
ggd.qqplot(pvalues)
# Add a title
ggd.qqplot(pvalues, "QQ-plot of p-values using ggd.qqplot")
.......
Here's the same code embeded using Github Gists:
And the same code using Inside-R.org's Pretty R Syntax Highlighter. Note that function calls are hyperlinks to the function's documentation on inside-R.
# Originally posted at http://gettinggeneticsdone.blogspot.com/2010/07/qq-plots-of-p-values-in-r-using-base.html # Define the function ggd.qqplot = function(pvector, main=NULL, ...) { o = -log10(sort(pvector,decreasing=F)) e = -log10( 1:length(o)/length(o) ) plot(e,o,pch=19,cex=1, main=main, ..., xlab=expression(Expected~~-log[10](italic(p))), ylab=expression(Observed~~-log[10](italic(p))), xlim=c(0,max(e)), ylim=c(0,max(o))) lines(e,e,col="red") } #Generate some fake data that deviates from the null set.seed(42) pvalues=runif(10000) pvalues[sample(10000,10)]=pvalues[sample(10000,10)]/5000 # pvalues is a numeric vector pvalues[1:10] # Using the ggd.qqplot() function ggd.qqplot(pvalues) # Add a title ggd.qqplot(pvalues, "QQ-plot of p-values using ggd.qqplot")
Have any other solutions for syntax highlighting R code? Please share in the comments!
Github Gists
Inside-R Pretty R Syntax Highlighter
I wrote my tips for WordPress blogs here:
ReplyDeletehttp://www.r-statistics.com/2010/10/wp-codebox-a-better-r-syntax-highlighter-plugin-for-wordpress/