Hugo Gruson

@grusonh
208 Followers
117 Following
517 Posts
Evolutionary biologist (#colsci) turned Research Software Engineer (#rstats) 🏳️‍🌈
Pronounshe/him
websitehttps://hugogruson.fr/
githubhttps://github.com/Bisaloo
ORCIDhttps://orcid.org/0000-0002-4094-1476

Ever wondered:

Will the vaccine I am getting right now be useful for another one of my future trips? 💉 🌐

or

How to create a nice data.frame from data scattered across different web pages? 📊

These two questions look unrelated but I touch on both of them in my latest blog post!

"Politely mapping recommended travel vaccines"

https://hugogruson.fr/posts/travel-vaccinations/

You will hopefully learn more about travel vaccinations and web scraping in #rstats with the rvest and polite packages 📦

Politely mapping recommended travel vaccines – Hugo Gruson

My last blog post in preparation for #useR2024, just in time to read it during your trip to Salzburg 😉

What can we learn from concept in other domains than #rstats package development? 📦
In particular, web development has the strong challenge to adapt to browsers with various features, can we use their expertise to iteratively improve a software ecosystem?

"Improving Ecosystem Interoperability Iteratively via Progressive Enhancement"

https://epiverse-trace.github.io/posts/progressive-enhancement/

Improving Ecosystem Interoperability Iteratively via Progressive Enhancement – Epiverse-TRACE developer space

A place for Epiverse-TRACE developers to share their reflections, learnings, and showcase their work.

Epiverse-TRACE developer space

You are now convinced to use #rstats S3 classes but you aren't sure what makes a good class?

In my new blog post, I discuss how to choose a good parent class to inherit from and how you can leverage it to its maximum to simplify your code and improve sustainability and interoperability

https://epiverse-trace.github.io/posts/parent-class/

"Choosing the Right Parent for R Object Classes"

If you're interested in this kind of topic, this is a first taste of my talk at #user2024 in two weeks!

Choosing the Right Parent for R Object Classes – Epiverse-TRACE developer space

A place for Epiverse-TRACE developers to share their reflections, learnings, and showcase their work.

Epiverse-TRACE developer space

It is so much nicer as a user when an #rstats function works out of the box with both standard data.frames and #tidyverse tibbles, despite their small differences.

In my new blog post, I detail some minor changes to your functions to make them "compa-tibble" in most cases.

https://hugogruson.fr/posts/compa-tibble/

I end by presenting testing strategies that could help in more involved situations.

Hugo Gruson - Make your functions compa-tibble

New #epiverse #rstats blog post!

"Lesser-known reasons to prefer apply() over for loops"

https://epiverse-trace.github.io/posts/for-vs-apply/
The debate on for loops vs apply() often crystallizes around (misconceptions on) performance.
But there are good reasons to prefer apply() to for loops. They revolve around readability and robustness:
1. Clarity of intent
2. Code conciseness
3. No variable leak
4. Pipeability.

Epiverse-TRACE developer space - Lesser-known reasons to prefer apply() over for loops

A place for Epiverse-TRACE developers to share their reflections, learnings, and showcase their work.

Epiverse-TRACE developer space

How come you generally don't have to think about installing system dependencies when testing #rstats packages in the cloud (e.g., on GitHub Actions)? 🤔

Short answer: it's because the pak package 📦 is doing some amazing magic behind the scenes.

Long answer: jump down the rabbit hole with this new blog post where we explore the various layers of complexity pak deals with to achieve this result:

https://blog.r-hub.io/2023/09/26/system-dependency/

(cross-posted on #Epiverse blog: https://epiverse-trace.github.io/posts/system-dependencies/)

System Dependencies in R Packages & Automatic Testing - R-hub blog

This post has been cross-posted on the Epiverse-TRACE blog. In a previous post, we discussed a package dependency that goes slightly beyond the normal R package ecosystem dependency: R itself. Today, we step even further and discuss dependencies outside of R: system dependencies. This happens when packages rely on external software, such as how R packages integrating CUDA GPU computation in R require the CUDA library. In particular, we are going to talk about system dependencies in the context of automated testing: is there anything extra to do when setting continuous integration for your package with system dependencies? In particular, we will focus with the integration with GitHub Actions. How does it work behind the scenes? And how to work with edge cases?

I am very excited to announce the first CRAN release of the xlcutter #rstats package 📦!
https://cran.r-project.org/package=xlcutter
We all love rectangular or tidy data but we don't always get it. So, how to deal with a folder of excel files that have been used as forms rather than true tables?
The xlcutter package can help you. Its main strength is the fact that templates can be edited by non-programmers. Data producers can directly give you the excel forms and the key to read them! 🤩
https://hugogruson.fr/posts/xlcutter-0-1-0/
xlcutter: Parse Batches of 'xlsx' Files Based on a Template

Parse entire folders of non-rectangular 'xlsx' files into a single rectangular and tidy 'data.frame' based on a custom template file defining the column names of the output.

RT @[email protected]

What if I told you that on Mastodon, you can verify yourself, by yourself, for free... 🤫 https://twitter.com/JPFosterson/status/1588957399208976385

🐦🔗: https://twitter.com/joinmastodon/status/1588959499708432384

JP Fosterson on Twitter

“A @joinmastodon server that offered identity verification would be super popular right now. I bet you could even charge a monthly fee for it.”

Twitter

RT @[email protected]

One of the dependencies of your #rstats 📦 is not like the others: R itself!

But did you know you can specify a minimum R version?

In this post by @[email protected] & @[email protected], we review how to choose which R version & how to test it.

https://blog.r-hub.io/2022/09/12/r-dependency/

🐦🔗: https://twitter.com/rhub_/status/1569279184844767233

Minimum R version dependency in R packages - R-hub blog

There have been much talk and many blog posts about R package dependencies. Yet, one special dependency is more rarely mentioned, even though all packages include it: the dependency on R itself. The same way you can specify a dependency on a package, and optionally on a specific version, you can add a dependency to a minimum R version in the DESCRIPTION file of your package. In this post we shall explain why and how.

RT @[email protected]

One of the dependencies of your #rstats 📦 is not like the others: R itself!

But did you know you can specify a minimum R version?

In this post by @[email protected] & @[email protected], we review how to choose which R version & how to test it.

https://blog.r-hub.io/2022/09/12/r-dependency/

🐦🔗: https://twitter.com/rhub_/status/1569279184844767233

Minimum R version dependency in R packages - R-hub blog

There have been much talk and many blog posts about R package dependencies. Yet, one special dependency is more rarely mentioned, even though all packages include it: the dependency on R itself. The same way you can specify a dependency on a package, and optionally on a specific version, you can add a dependency to a minimum R version in the DESCRIPTION file of your package. In this post we shall explain why and how.