• R experts, for all your R needs

    R experts, for all your R needs

Shiny applications (design and deployment)

Application and dashboard using Shiny framework

R server and infrastructure

Rstudio server, Rconnect, Shinyproxy, Shiny server…

Code and R scripts optimization

Performance, Maintainability & Reusability

R Software Engineering

Package creation, algorithm production, ...

Remote trainings and certification

Learn R with us from the confort of your home/office!

Open-source contributions

Our open-source contributions to the R community

"R experts at your disposal"

A team of R consultants

At ThinkR we are passionate about R. We are a team of developers and R consultants, with solid knowledge and skills in everything R-related — development, application deployment, or infrastructure .

Contact us if you need a team of experts to carry out your R projects:

  • Package creation
  • Implementation of good development practices
  • Code optimization
  • Shiny application
  • Installation and configuration of Rstudio Connect
  • Rstudio server or ShinyProxy with Docker
  • Advanced R training

2022-10-04 / Sébastien Rochette

Package dev with {fusen} & {attachment}: load all functions of a flat, manage qmd and auto-fill Remotes field

One aim of our open-source packages at ThinkR is to make our development workflows easier. {attachment} and {fusen} are developed maintained to help packages development and maintenance. Inception… If they help us every day, they can probably help you as well! In this blog post, I present the lastest changes of these two packages. If you want to know how ...

2022-08-19 / Sébastien Rochette

Installation of R 4.2 on Ubuntu 22.04.1 LTS and tips for spatial packages

It is again this time in your Ubuntu user’s life where you plan to upgrade your server installation from Ubuntu 20.04 to Ubuntu 22.04 LTS. Indeed, the first point release 22.04.1 is now there, and you’d like somebody else to try it for you before loosing all your work. Let me do it for you ! We will also use ...

banner with sticker logo of fusen package

2022-05-03 / Sébastien Rochette

{fusen} v0.4 – 14 developers tips and tricks

If you think {fusen} is not for you because you’ve been building R packages your entire life without it, it’s time to give it a try! Refer to the new tips and tricks in the dedicated vignette in case you feel you need additional functionalities: chances are I already implemented them… Go back to the previous blog post to know ...

2022-03-11 / Colin Fay

{golem} 0.3.2 is now available

The new version of {golem} is now available! You can download it from your favorite CRAN repository, or by running the following command: remotes::install_github( “thinkr-open/[email protected]” ) What’s up with this new version? In this release, we have been focusing on a closer integration of tests inside the application building process, notably via Server function testing with Shiny, adding tests to ...

2021-12-19 / Sébastien Rochette

‘fusen’ v0.3: Better project templates, grouped functions and numerous other enhancements

{fusen} gets some maturity! v0.3 is a big rebranding for a more fluid experience, from beginners to advanced developers. Creating a fully documented and tested package has never been so easy and enjoyable. Experience “Rmd first” to the fullest. At first, I imagined {fusen} to help beginners start building R packages. Following the ‘Rmd first’ method, I am convinced that ...

2021-11-14 / Sébastien Rochette

{attachment} v0.2.4: fill the Remotes field

A new version of {attachment} is available on CRAN. Get dependencies installed from GitHub, GitLab, … and add the link to the ‘Remotes’ field in the DESCRIPTION file of your package. install.packages(“attachment”) While waiting for CRAN release, you can install from GitHub: remotes::install_github(“ThinkR-open/[email protected]”) {attachment} helps you deal with dependencies during your package development. All packages used in your code needs ...

Moissonneuse batteuse en plein récolte avec un déplacement horizontal, ligne par ligne

2021-10-21 / Vincent Guyader

Row-wise operations with the {tidyverse}

We are often asked how to perform row-wise operations in a data.frame (or a tibble) the answer is, as usual, “it depends” 🙂 Let’s look at some cases that should fit your needs. library(tidyverse) Let’s make an example dataset: base <- tibble::tibble( a = 1:10, b = 1:10, c = 21:30 ) %>% head() base ## # A tibble: 6 ...

Engineering Production-Grade Shiny Apps

2021-10-11 / Vincent Guyader

The R series ‘Engineering Production-Grade Shiny Apps’ book is available in print!

It is with great pleasure that we can announce that the paper version of the book “Engineering Production-Grade Shiny Apps” is available. It is published in the R Series by Chapman & Hall. If you want to use shiny with rigour , and use this techno to push your applications into production, this book is for you. The ThinkR team ...

gtlabr hex logo inside a rectangle

2021-08-31 / Sébastien Rochette

{gitlabr} v2.0 is on CRAN!

You regularly create projects on GitLab with a common skeleton, you want to retrieve the list of GitLab issues to create a report, you are looking for batch modifications of your projects? Use the GitLab API from your preferred programming language R. Communicate with GitLab API from R Here is a small example as issued from the {gitlabr} Readme on ...

Pictures of multiple origamis boxes and animals

2021-08-05 / Sébastien Rochette

{fusen} is now available on CRAN!

With first version of {fusen} 0.2.4 now available on CRAN, you do not have any excuses not to try it in your daily workflows. install.packages(“fusen”) Add new documented and tested functionalities in an existing package If you already develop packages, {fusen} is for you. Developing a package requires to write some code and examples in multiple places: “R/”, “tests/”, “vignettes/”. ...

2021-05-31 / Colin Fay

About {golem} 0.3.1

The new version of {golem} (0.3.1) has been available on CRAN 🎉 for about a month now. This new version includes a lot of new things, but we notably focused on working on two important new features: allowing you to extend {golem} via templates, and supporting for the latest changes in {shiny}. Extending {golem} One of the challenges when it ...

Processus development collaborative

2021-04-19 / Sébastien Rochette

A guide to collaborative development with R for reproducible PROPRE reporting

With our “PROPRE” Project Guide, get a publishing committee and a development team to collaborate on creating your automated reports using the “PROPRE” methodology. Follow our suggestions for organization, tools and R development practices, for a controlled and benevolent DevOps practice. It is possible to collaborate around git in a team composed of developers and non developers. In this guide ...

2021-04-02 / Vincent Guyader

The top 10 R errors, the 7th one will surprise you

In the same way you fall learning to walk, you make mistakes learning R. The goal of this article was to regroup the most common mistakes one makes while learning R and to explain them in order for you you know how to fix them. Facing an issue, the most important advice would be : “Read the error message”. It ...

banner with sticker logo of fusen package

2021-01-26 / Sébastien Rochette

{fusen}: Create a package from a simple RMarkdown file

You know how to build a Rmardown, you were told or would like to put your work in a R package, but you think this is too much work? You do not understand where to put what and when? What if writing a Rmd was the same as writing a package? Follow the “Rmd-first” method and let {fusen} guide you ...

2021-01-19 / Sébastien Rochette

{attachment} v0.2.0 : find dependencies in your scripts and fill package DESCRIPTION

New version of {attachment} has been published on CRAN ! We continue to improve its functionalities to help you deal with dependencies in R, in particular during package development. Since our last blog post presenting the aim of {attachment}, two versions reached CRAN. The full documentation is available on the {pkgdown} website : https://thinkr-open.github.io/attachment. Still, for package developers, att_amend_desc() keeps ...

devindocker package logo for development in docker container

2020-11-07 / Sébastien Rochette

How to develop inside a Docker container to ease collaboration?

To ensure the reproducibility of your projects, you can develop in the Docker container that you will use to share your work. Indeed, what to do when your data analyses, publications, models are used by users with different versions of operating systems and R packages R? How do you ensure that your Dockerfile delivered with your package or project is ...