Publications by Jonathan Chang
Generating a triangular navigation mesh from H3 hexagons in R
Introduction A navigation mesh is a data structure used to aid in pathfinding around obstacles. Originally used for video games and robotics, we can also apply the concept of this navigational mesh to the movement of animals through landscape, using methods such as FEEMS. Consider the following landscape1: Finding a...
5358 sym R (2274 sym/11 pcs) 20 img
Download shapefiles from ESRI ArcGIS Online Story Maps
Liz recently needed some shapefiles from an ArcGIS online map. Checking out the linked page, it’s immediately clear that there’s a lot of data, and no obvious way to get it from a download or share link anywhere on the app page. The desired solution is anything but taking a screenshot and tracing it in ImageJ, since that’s an absolute last ...
2491 sym R (1722 sym/2 pcs) 6 img
How to partially rasterize a figure plotted with R
If you work with datasets that are big enough in R you will eventually encounter situations where your plots are so complex that they do things like crash Preview.app on macOS. For me this happens a lot when I generate huge scatterplots with very dense overplotting. These don’t add much information to the figure but nevertheless must be rendere...
4533 sym R (2187 sym/11 pcs) 6 img
Animating and labeling figures with ImageMagick
ImageMagick is an incredible command-line tool that lets you edit and convert images of all sorts. Suppose you wanted to compare some figures that you’ve generated, and label the figures with their respective filenames so that you know which is which. Here’s a quick worked example in R and Terminal that gets you going. First, let’s generate...
1637 sym R (493 sym/2 pcs) 2 img
What R package for phylogenetics is the most popular?
While writing my first R package and its associated manuscript, I needed to talk about some other R packages in the phylogenetics research community. The most obvious choice would be to just cite the ones that I actually use, but that doesn’t necessarily mean that other practicing phylogeneticists do the same. I needed to get some stats on whic...
3195 sym R (686 sym/5 pcs) 1 tbl
Introducing fishtree and fishtreeoflife.org
In our recent publication (Rabosky et al. 2018) we assembled a huge phylogeny of ray-finned fishes: the most comprehensive to date! While all of our data are accessible via Dryad, we felt like we could go the extra mile to make it easy to repurpose and reuse our work. I’m pleased to report that this effort has resulted in two resources for the ...
5970 sym R (436 sym/2 pcs) 6 img
Three ways to check and fix ultrametric phylogenies
A recent user bug report in my software TACT led me to look into how phylogenetic software varies in the way they determine whether a given phylogenetic tree is ultrametric (where the root-to-tip distance is equal among all tips). If you infer an ultrametric phylogeny using something like BEAST or treePL, your supposedly ultrametric tree can stil...
9076 sym R (4266 sym/26 pcs) 8 img