r

Auto-building drat with gh actions

Combining GitHub actions and {drat.builder} makes it easy to create an auto-building drat repository for your R packages

The dating game

Dates are not so sweet It is known: parsing dates entered by humans is a huge pain: Source: https://xkcd.com/1179/ ISO 8601 nerds: a crack has developed in the old way. The new year has wounded both the m/d/yy and the d/m/yy factions. The time is ripe for a new global order. TONIGHT (2020-01-01) WE RIDE https://t.co/1YTL1SWDm2 — Brooke Watson Madubuonwu (@brookLYNevery1) January 1, 2020 Dates are a never-ending source of fresh hell.

Don't buy me a coffee

tl;dr I don’t get paid to maintain poppr anymore and do so on my own time, so if you use it and value the work that I put into it, please donate to RAICES Texas (https://www.raicestexas.org/donate) to help provide legal services to underserved immigrant and refugee families in the United States. Last Tuesday, I released poppr version 2.8.3, which fixed a corner case in read.genalex() and enhanced minimum spanning network rendering by drawing single-population nodes as circles instead of pies (with contribution by Frédéric Chevalier).

nice selection

I started writing in R before the tidyverse became a thing and I never really had to think about non-standard evaluation when writing functions. Those days are long past and I’ve recently struggled with the challenge when writing functions for the R4EPIs project, which would stick out like ugly little trolls along side tidyverse functions. One of my biggest struggles was trying to figure out how, excactly to select a varaible from a user as either a character string or a bare variable.

Ask developers questions over forums, not emails

My package, poppr, has been on CRAN for over six years now and it has received more than 400 citations and just north of 70,000 downloads from the RStudio cran mirror. I can think of three reasons why this package has been successful: Our lab gave several workshops using our package over the years We have written extensive documentation with both web site and package documentation. I actively maintain and answer the vast majority of questions that appear on the poppr google group.

Splitting Hairs: *poppr* version 2.7

Positive Contact This version of poppr is a direct result of feedback that was prompted by my own feedback. I’m always grateful for eagle-eyed users of poppr who report when things are going awry. Recently, I had noticed that poppr was cited in a recent review on the analysis of polyploid genetic data (Meirmans, Liu, and Tienderen 2018) that highlighted some limitations with established methods, including Bruvo’s distance (Bruvo et al.

I C Bugs

Using lldb to track down a bug in C

Poppr 2.6.0: Better Network Plotting

Poppr version 2.6.0 has officially been released on CRAN and should be built for all operating systems within the next few days 🎉. You can check out the NEWS for full details. This release features a new function called boot.ia() to assess how the Index of Association responds to repeat observations (clones). Perhaps the biggest feature is the change in how minimum spanning networks are plotted. Minimum spanning networks were originally implemented in poppr by Javier Tabima and I, and since then they’ve gone through some tweaking, eventually including features like reticulation of equivalent paths and a GUI to help construct these networks.

Using a custom library in R

I’ve been using a custom library for R since 2012 and I’ve never looked back. I’ve not seen many tutorials for people do do this through R, so I figured I’d write a quick one. Where does your R package library live? You can usually find this out by typing .libPaths() in your R console. If you have an out-of-the-box installation, it will generally be somewhere like: C:/Program Files/R/R-3.4.2/library or

Squishing a big bad bug

As I was preparing to push a new version of poppr to CRAN , this tweet (appropriately) came across my feed: Mistakes happen in science. What matters is what you do next. Anyone want to share a story of a mistake & how they handled it? — Adrienne Porter Felt (@__apf__) September 10, 2017 The reason I was updating poppr was to fix a mistake I had made a few