Advertisement · 728 × 90

Posts by Francis Windram

Preview
Ecological and socioeconomic factors associated with globally reported tick-borne viruses - Communications Medicine Sambado et al. examine how environmental and social conditions shape where tick-borne viruses are reported worldwide. Using machine learning, they find that both ecological and economic are important, and that wealthier nations are more likely to report these overlooked diseases.

NEW: "Ecological and socioeconomic factors associated with globally reported tick-borne viruses", led by @samsambado.bsky.social, in which she applied BRT modelling to a global database of TBVs to pick apart the complicated pathway from transmission to reported cases!
www.nature.com/articles/s43...

1 week ago 13 9 1 1

Haha apologies for that confusion :) Getting this version out had quite a bit of nasty work behind the scenes to get it up to scratch for CRAN. Hope you enjoy the new models!

1 week ago 0 0 1 0

Finally managed to get a new version of rTPC (v1.1.0) onto CRAN, with @franwin.co.uk driving most of the changes. There are now 49 models included.

cran.r-project.org/web/packages...

And parallel fitting of TPCs can be done using mirai and purrr.
padpadpadpad.github.io/rTPC/article...

🧪 #rstats

1 week ago 10 4 0 1
Post image

We're at the Vector-Borne Diseases conference today here in Liverpool. Let us know if you are too! #VBD26

2 weeks ago 4 2 0 0

Also if we were going to get people to take anything from package dev into their normal analysis, it should be 1) Dependency checking using rlang::check_installed() and then using ::-style calling, 2) Proper messaging using cli, & 3) properly documenting functions with Roxygen.

1 month ago 0 0 0 0

That's kind of a wild suggestion for researchers (and one that I haven't personally encountered). I'm all for spinning off reusable functions into their own package, but the way one uses R for analysis is just so very different to how one writes a package. Just code/data/results works in most cases!

1 month ago 2 0 1 0
We are exhibiting at AMCA 26!

We are exhibiting at AMCA 26!

Will you be at AMCA 26? Come find @vectorbyte.bsky.social and chat to us about our databases, workshops, data management, and let @samrund.bsky.social give you stickers, perhaps?
#AMCA26

1 month ago 4 5 0 0
Advertisement
ohvbd 1.0.0 has been released on CRAN! - Blog Announcing ohvbd v1.0.0 on CRAN: a unified R interface for retrieval and harmonisation of vector-borne disease data.

ohvbd 1.0.0 has now been released on CRAN!

This package should help those looking for VBD data by interfacing with vbdhub.org for searching, and the VectorByte trait and population dynamics databases for data download (alongside much more).

vbdhub.org/blog/ohvbd-c...

#rstats #vectorbyte #vbd

2 months ago 5 3 0 0

It's so good!!! I initially was a bit sceptical about recode_values until I was shown the whole lookup table approach, and now I am super excited. Recoding is one of the least enjoyable things that I actually do regularly.

2 months ago 2 0 1 0
Google with AI buttons

Google with AI buttons

Google without AI buttons

Google without AI buttons

I made a filterlist for uBlock Origin to remove Generative AI features on websites. Includes blocks for
* Google AI Summaries
* YouTube Ask button & chat summaries
* GitHub Copilot
* Facebook AI chat
* X's Grok buttons
* Deviantart DreamUp
* Booru AI images
* And more

github.com/Stevoisiak/S...

2 months ago 23490 11700 290 236

It is a tool, and it is one that is not right for every purpose. I personally believe coding is a situation where it can significantly enhance the already highly-skilled. I also believe that one does themselves a disservice by relying too heavily upon it. It can _code_, but it can't _think_ for you.

2 months ago 0 0 0 0

You do not have to think it is terrible at everything to think it is less useful than others find it. You do not even have to believe it is good at everything to believe it is good at some things. It is certainly good at natural language processing for example.

2 months ago 1 0 1 0

My own take at least is the following:
- When it works it's great.
- When it doesn't work it's not.
- Knowing when it doesn't work can be hard.
- It is hard to realise when it hasn't worked without out-of-band knowledge.
- It is hard to develop said knowledge without other skills.

2 months ago 2 0 1 0

Oh I shall, thanks!

3 months ago 0 0 0 0
Advertisement
Changelog

I did actually play with that (parquet is such a cool data format). Alas as this is not _primarily_ a spatial package I figured it was probably best not to add an extra dep for that sweet sweet extra 300ms reduction.

You did get a shoutout in the changelog though! ohvbd.vbdhub.org/news/index.h...

3 months ago 2 0 1 0

Out of interest I actually ended up switching up a little more and settling on GeoPackage for this particular usecase. It further reduced load time by 33% for the largest files.

3 months ago 1 0 1 0
Post image

Oh that's a fantastic idea! Honestly shapefiles have always annoyed me, but I don't do enough with them to have done a deep dive into alternative formats. Already implemented and this saved me 25% storage size and ~35% load time for the largest files!

Thank you so much!

3 months ago 0 0 1 0
Post image

I definitely agree, devs should strive to inform the user when caches are created (and, better yet, used).

In the end it is a little tricky if your code is only ever run once, because after that you have no ability to affect the user's system in any meaningful manner. But still...let them know!

3 months ago 1 0 1 0

That is super interesting and very much along the lines of what I was thinking for a unified cache tracking mechanism should that be needed. Thanks!

3 months ago 1 0 0 0

Yeah that's a really good point, though I also have support for custom cache locations specifically for those cases. Still I'm inclined to agree. I hope the CRAN folks view it the same way!

3 months ago 0 0 0 0

Ahh yes memoisation would be great within sessions, these are more like large lookup shapefiles and data tables that get used across sessions. I'm inclined to agree that I should just rely on the user to handle it.

Thanks for the link!

3 months ago 1 0 0 0

I could (and possibly will) make it so that any function that interacts with the outside world automatically cleans the cache, but I don't _really_ love that either as then a function that interfaces with one DB might clean the cache relating to another.

3 months ago 1 0 0 0

I struggle with this because on one side I don't like doing things under a user's nose, but on the other I really don't like the idea of just eating up space on a user's drive until they interact with the cache-maintenance helpers (which they may not find).

3 months ago 1 0 1 0
Advertisement

An #rstats question for package developers: If my package maintains a cache to minimise data downloads, is it sensible/preferred to put an automatic cache cleaner (delete anything older than x days) in .onLoad, or to just mostly leave cache maintenance to the user (with appropriate helpers)?

3 months ago 5 3 5 0

{ggview} can print plots to Viewer (Rstudio or Positron) with true scaling. Adjust plot settings and see the final proportions immediately.

Save the plot once 👌

e.g.:
ggplot(...) +
ggview::canvas(width = 220, height = 220*2/3, units = "mm", dpi = 300)

per @nrennie.bsky.social #datavis #rstats

4 months ago 122 33 3 3

@franwin.co.uk drove a massive rework of rTPC this year, making package maintenance much easier. rTPC now supports 49 different model formulations, vignettes are updated, & you can parallelise model fitting using new purrr & mirai, which is DOPE. #rstats 🧪

padpadpadpad.github.io/rTPC/article...

6 months ago 13 3 1 0
Preview
The role of large ungulate grazers on Ixodes ricinus and tick-borne pathogens in the New Forest - a case study for future rewilded landscapes Large ungulate grazers can manage habitats via conservation grazing, a practice using livestock to control vegetation growth, which has many ecologica…

🚨 New paper 🚨

How does livestock grazing impact tick-borne disease hazard? Our new study in the New Forest National Park used a paired experiment to find out.

Important for #rewilding and #conservation grazing schemes!

#Ticks #LymeDisease @ukhsa.bsky.social

www.sciencedirect.com/science/arti...

7 months ago 2 1 1 1

Honestly, for me I'm still being pushed away from Positron by the lack of inline output for qmd/Rmd. Being able to play around then build and send is pretty important for me.

8 months ago 2 0 0 0

Ah, esquisse was the package!

8 months ago 1 0 0 0