Publications by Jonathan Chang

Generating a triangular navigation mesh from H3 hexagons in R

30.12.2024

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

03.11.2022

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

25.05.2018

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

07.08.2018

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?

19.11.2018

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

28.03.2019

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

12.07.2021

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