2015-06 A ‘safemode’ Package for R

The ‘safemode’ package provides a safemode() function that creates a “safe mode” session in R. In “safe mode”, all symbols have an “age” (a last-modified time stamp) and a set of dependent symbols, and a warning is issued whenever a symbol is used in an expression and its age exceeds the age of any of its dependents (i.e., there is warning whenever a “stale” symbol is used in an expression).

Paul Murrell


2015-05 Generating SVG for Web Pages with the gridSVG Package

This document describes several different techniques for including SVG images within a web page and points out the important SVG attributes that control the final appearance of the SVG image within the web page. The document then describes how to control those attributes when generating SVG images with the ‘gridSVG’ package for R.

Paul Murrell


2015-02 New Zealand’s Climate Data in R – An Introduction to clifro

The National Climate Database contains data collected from around
6,500 weather stations throughout New Zealand, providing a necessary
repository for any study involving New Zealand’s weather or climate.
Although data from this database can be accessed via a web portal (CliFlo),
the vast amount of information is not readily consumable. The clifro
R package provides the necessary functions to easily integrate the
National Climate Database with R, and provides a variety of elegant plotting
methods for data exploration. Also, by supplying functions to access the
database via CliFlo programmatically, clifro allows for transparent and
reproducible research when using these data.

Blake M. Seers and Nick T. Shears


2014-02 Invertible Reproducible Documents

Reproducible documents provide an efficient way to produce reports by automatically generating content from code chunks within the report. The processing of a source document, that contains code chunks, to a final document, that contains automatically-generated content, is typically one way, with the resulting report being read-only. This report describes an experiment that attempts to make the final report document modifiable and attempts to invert the process from final document back to source document so that the modifications to the final document can be efficiently conveyed back to the original author of the report.

Eric Lim, Paul Murrell, and Finlay Thompson


2014-01 Improving the ‘gridGraphviz’ package in R

The gridGraphviz package renders node-and-edge graphs in R using the grid graphics package. Graphs are laid out using the Rgraphviz package to interface with the graph layout algorithms in graphviz. This article details the improvements made between gridGraphviz versions 0.2 and 0.3, including: support for “ellipse”- and “polygon”-shaped nodes; handling of edges in undirected graphs; support for various new arrow types; and support for edge labels. Version 0.3 also introduces a method to produce graphs with an overall size closer to graphviz’s output.

Ashley Noel Hinton and Paul Murrell


2013-10 Automatic Conversion of Tables to LongForm Dataframes

TableToLongForm automatically converts hierarchical Tables
intended for a human reader into a simple LongForm Dataframe that is
machine readable, hence enabling much greater utilisation of the data.
It does this by recognising positional cues present in the hierarchical
Table (which would normally be interpreted visually by the human brain)
to decompose, then reconstruct the data into a LongForm Dataframe. The
article motivates the benefit of such a conversion with an example
Table, followed by a short user manual, which includes a comparison
between the simple one argument call to TableToLongForm, with code for
an equivalent manual conversion. The article then explores the types of
Tables the package can convert by providing a gallery of all recognised
patterns. It finishes with a discussion of available diagnostic methods
and future work.

Jimmy Oh


2013-9 Improved Importing of Vector Graphics in R

The grImport2 package imports vector images that are stored in the SVG image format for inclusion within images generated by R. The original grImport package performs the same task, but instead using PostScript images as its source image format. This technical report describes the steps taken to improve not only the grImport package, but also follows the development of two new packages, grImport2 and grConvert. The latter, grConvert, converts images from popular vector image formats (PostScript, PDF and SVG) into valid input formats for grImport and grImport2. The grImport2 package is an entirely new package that does not suffer from some limitations of the grImport package, whose limitations are primarily due to the dependence on the PostScript image format.

Simon Potter and Paul Murrell

Read more.

2013-7 Advanced SVG Graphics from R

The gridSVG package has recently provided an interface for
some more advanced SVG graphics features: gradient fills and pattern
fills, clipping paths, masks, and filters. This report describes a
simple test case for some of these advanced graphics features and then
explores some ideas for making use of these features in Statistical

Paul Murrell and Simon Potter

Read more

2013-4 Generating Structured and Labelled SVG

This article discusses the importance of providing structure and labelling within SVG code, particularly when the SVG code is generated indirectly by a high-level system and when the SVG code describes a complex image such as a statistical plot. We argue that this is a desirable goal, but that many high-level systems that generate SVG do not provide sufficient structure and labelling. An example of a system, based on R, that does provide structure and labelling, is described to demonstrate that the goal is acheivable and we highlight the crucial features of this system that we see as important factors in achieving this goal.

Paul Murrell and Simon Potter.