User-friendly scaling

08 October 2015 /posted in: R

Back in the mists of time, whilst programming early versions of Canoco, Cajo ter Braak decided to allow users to specify how species and site ordination scores were scaled relative to one another via a simple numeric coding system. This was fine for the DOS-based software that Canoco was at the time; you entered 2 when prompted and you got species scaling, -1 got you site or sample scaling and Hill’s scaling or correlation-based scores depending on whether your ordination was a linear or unimodal method. This system persisted; even in the Windows era of Canoco these numeric codes can be found lurking in the .con files that describe the analysis performed. This use of numeric codes for scaling types was so pervasive that it was logical for Jari Oksanen to include the same system when the first cca() and rda() functions were written and in doing so Jari perpetuated one of the most frustrating things I’ve ever had to deal with as a user and teacher of ordination methods. But, as of last week, my frustration is no more…

Read on »

ESA's publishing deal with Wiley Notes from ESA Council

11 August 2015 /posted in: Science

One of the big announcements about the society made by ESA in the run up to the annual meeting in Baltimore this week was the news that ESA has chosen to partner with John Wiley & Sons as publisher of the society journals. At the time of the announcement few details about the deal or the process by which this decision was made were available. I was attending the ESA Council as the incoming Chair of the Paleoecology Section where some further details were provided and members of Council were able to ask questions about the deal. These are my notes from that meeting.

Read on »

The new Tri-agency open access policy

10 July 2015 /posted in: Science

Earlier this year the triumvirate of Canadian science funding bodies, the Natural Science and Engineering Research Council, the Canadian Institutes of Health Research (CIHR) and the Social Sciences and Humanities Research Council of Canada (SSHRC) (collectively referred to as the Tri-Agencies), announced their new policy of open access to research publications. This followed a period of consultation, begun in the fall of 2013, with the science communities funded by the Tri-Agencies. The policy came into effect, effectively, on May 1st this year (2015) and applies to all Tri-agency-funded grants awarded from May 1st 2015 onward. As part of its awareness programme for the policy, the Tri-Agencies have been holding webinars to explain the new policy and allow for questions from researchers. In the main the Tri-Agency policy is pretty clear, judging by the questions from academics during the webinar session that I attended recently, but we can conclude one or both of two things: i) academics don’t read things unless the absolutely must, and ii) that academics have some interesting views about open access, what it means for them, and what they consider as being good-practice or complying with the new rules. I was asked after tweeting about this to summarise my notes from the webinar and on the Tri-Agency policy on open access in general.

Read on »

My aversion to pipes

03 June 2015 /posted in: R

At the risk of coming across as even more of a curmudgeonly old fart than people already think I am, I really do dislike the current vogue in R that is the pipe family of binary operators; e.g. %>%. Introduced by Hadley Wickham and popularised and advanced via the magrittr package by Stefan Milton Bache, the basic idea brings the forward pipe of the F# language to R. At first, I was intrigued by the prospect and initial examples suggested this might be something I would find useful. But as time has progressed and I’ve seen the use of these pipes spread, I’ve grown to dislike the idea altogether. here I outline why.

Read on »

Something is rotten in the state of Denmark

02 June 2015 /posted in: R

On Twitter and elsewhere there has been much wailing and gnashing of teeth for some time over one particular aspect of the R ecosphere: CRAN. I’m not here to argue that everything is peachy — far from it in fact — but I am going to argue that the problems we face do not begin and end with CRAN or one or more of it’s maintainers.

Read on »

Drawing rarefaction curves with custom colours

16 April 2015 /posted in: R

I was sent an email this week by a vegan user who wanted to draw rarefaction curves using rarecurve() but with different colours for each curve. The solution to this one is quite easy as rarecurve() has argument col so the user could supply the appropriate vector of colours to use when plotting. However, they wanted to distinguish all 26 of their samples, which is certainly stretching the limits of perception if we only used colour. Instead we can vary other parameters of the plotted curves to help with identifying individual samples.

Read on »

At the frontiers of palaeoecology

31 March 2015 /posted in: Science

A couple of weeks ago, I had the pleasure of attending and participating in a symposium held to honour John Birks as he retires from the University of Bergen and becomes Professor Emeritus. The symposium, titled “At the Frontiers of Palaeoecology”, took place on 19–20th March in Bergen, Norway, and was a wonderful mix of colleagues old and new discussing John’s contributions to the field of palaeoecology and their collaborations with him. Alongside this reminiscing were several presentations describing new areas of research by colleagues and collaborators of John.

Read on »

Harvesting Canadian climate data

14 January 2015 /posted in: R

In December I found myself helping one of our graduate students with a data problem; for one of their thesis chapters they needed a lot of hourly climate data for a handful of stations around Saksatchewan. All of this data was and is available for download from the Government of Canada’s website, but with one catch; you had to download the hourly data one month at a time, manually! There is no interface to allow a user of the website to specify the data range they want and download all the data from a single station. I figured there had to be a better way, using R to automate the downloading. Thinking the solution I came up with might help other researchers needing to grab data from the Government of Canada’s website save some time in the future, I wrote this post to document how we ended up doing it.

Read on »

Analysing a randomised complete block design with vegan

03 November 2014 /posted in: R

It has been a long time coming. Vegan now has in-built, native ability to use restricted permutation designs when testing effects in constrained ordinations and in range of other methods. This new-found functionality comes courtesy of Jari (mainly) and my efforts to have vegan permutation routines use the permute package. Jari also cooked up a standard interface that we can use to drop this and some extra features neatly into any function we want; this allows us to have permutation tests run on many CPU cores in parallel, splitting the computational burden and reducing the run time of tests, and also a mechanism that allows users to pass a matrix of user-defined permutations to be used in tests. These new features are now fully working in the development version of vegan, which you can find on github, and which should be released to CRAN shortly. Ahead of the release, I’m preparing some examples to show off the new capabilities; first off I look at data from a randomized, complete block design experiment analysed using RDA & restricted permutations.

Read on »

analogue 0.14-0 released

14 October 2014 /posted in: R

A couple of week’s ago I packaged up a new release of analogue, which is available from CRAN. Version 0.14-0 is a smaller update than the changes released in 0.12-0 and sees a continuation of the changes to dependencies to have packages in Imports rather than Depends. The main development of analogue now takes place on github and bugs and feature requests should be posted there. The Travis continuous integration system is used to automatically check the package as new code is checked in. There are several new functions and methods and a few bug fixes, the details of which are given below.

Read on »