Consultants logiciel R
Chez ThinkR nous sommes des passionnés de R. Une équipe de développeurs et consultants R avec un fort savoir faire aussi bien en développement R qu’en déploiement d’application ou en installation d’infrastructure R.
Faîtes nous confiance pour mener à bien vos projets nécessitant une parfaite maîtrise du langage R :
- Création de package R
- Mise en place des bonnes pratiques de développement
- Optimisation de code
- Application Shiny
- Installation et configuration de Rstudio Connect
- Rstudio serveur ou ShinyProxy avec Docker
- Formations R avancées
2024-11-22 / Arthur Bréant
Signature.py: application lauréate du Shiny Contest 2024
🏆 Nous avons le plaisir d’annoncer que {signature.py} est la grande gagnante du Shiny Contest 2024 dans la catégorie ‘Meilleure application Shiny avec Python’ ! Cette année, Posit a relancé le Shiny Contest, un concours dédié au développement d’applications Shiny. Les participants doivent créer une application personelle ou professionelle, qui répond à un problème spécifique. Les applications sont ensuite jugées ...
2024-11-19 / Colin Fay
Vous attendiez des applications mobiles natives avec R ? L’attente est terminée.
webR et la nouvelle génération d’applications avec R Au cours des derniers mois, j’ai partagé comment webR transformera notre manière de créer des applications intégrant R. Si vous ne le savez pas encore, webR est une compilation de R en WebAssembly. En termes simples, cela permet à R de fonctionner dans des environnements JavaScript. Si vous êtes familier avec le ...
2024-10-16 / Yohann Mansiaux
Au-delà des fonctions : comment enrichir un package R avec des données
En tant que développeur de package, on prête une attention particulière à nos fonctions maisons, à leur documentation et à leurs tests unitaires. Pour rendre l’expérience utilisateur encore plus complète, il peut être utile d’y incorporer des données. On vous explique tout ici ! Si vous n’êtes pas familier de l’implémentation des tests unitaires, nous vous conseillons de lire notre ...
2024-10-04 / Murielle
Attentes, vérifiées ! Plongez dans l’univers des tests unitaires avec expect_*()
Les tests unitaires sont essentiels dans le développement d’un package R. Ils garantissent que vos fonctions fonctionnent comme prévu, tout en vous protégeant contre les régressions lorsque vous améliorez ou modifiez votre code. Grâce au package {testthat}, écrire et automatiser des tests en R devient simple et intuitif. Au cœur de cette démarche, les fonctions expect_*() jouent un rôle central ...
2024-09-03 / Yohann Mansiaux
Boostez votre application shiny avec des dataviz interactives : une plongée dans la librairie JavaScript Chart.js
Poursuivons notre exploration de l’intégration de code JavaScript au sein d’une application {shiny} ! Nous allons montrer comment sortir des graphiques classiques produits en R base ou avec {ggplot2} pour aller fouiller du côté des librairies JavaScript de production de dataviz interactives, en particulier de la librairie Chart.js. Si vous avez manqué notre premier article sur l’intégration de librairies JavaScript ...
2024-08-26 / Colin Fay
{golem} 0.5.0 est maintenant disponible
Image d’en-tête générée par ChatGPT Nous sommes ravis d’annoncer la sortie de {golem} version 0.5.0 ! Cette mise à jour est remplie de nouvelles fonctionnalités, d’améliorations et de corrections de bugs qui simplifieront votre processus de développement d’applications Shiny. Vous pouvez télécharger la dernière version depuis votre dépôt CRAN préféré, ou en exécutant la commande suivante dans R : pak::pak( « thinkr-open/[email protected] » ...
2024-05-17 / Sébastien Rochette
gitlabr v2.1.0 – gitlab-ci avec ‘pak’ et fonctions pour gérer les groupes sur GitLab
Pas mal de nettoyage, des nouvelles fonctionnalités et des corrections de bugs pour cette nouvelle version de ‘gitlabr’. Vous y trouverez des templates de CI/CD tout neufs et des fonctions pour gérer les groupes GitLab depuis R. Du gitlab-ci tout neuf avec ‘pak’, prêt à l’emploi Le template pour le check de packages R utilise {pak} pour la gestion ...
2024-04-29 / Yohann Mansiaux
Mettre un coup de polish dans son appli shiny en utilisant une librairie JavaScript : l’exemple de sweetalert2
Vous trouvez certains composants de {shiny} peu fonctionnels ou austères ? Vous cherchez à implémenter une fonctionnalité particulière dans votre appli mais celle-ci est absente de la boite à outils de {shiny} ? Jetez un oeil du côté du JavaScript !. Le JavaScript est un langage de programmation très populaire qui est souvent utilisé pour ajouter des fonctionnalités à des ...
2024-02-21 / Vincent Guyader
Optimisation des performances en R : un exemple avec l’utilisation de Mémoise
Contexte Que ce soit pendant les (formations) que je peux donner ou les (coaching) que je peux faire, il y a bien souvent un moment où je pars dans un long laïus sur la puissance et l’utilité du caching. De à quel point c’est génial, pas si compliqué que ça à mettre en place et super intéressant. La dernière fois ...
2024-02-16 / Swann Floc’hlay
Dompter son namespace avec un zest de suggests
On la connait tous, cette petite vague de fébrilité qui nous traverse quand on regarde tourner le check de son tout nouveau commit en se disant “Où ça pourrait bien bloquer ?”. Et soudain, les trois petits ticks salvateurs 0 errors ✔ | 0 warnings ✔ | 0 notes ✔ Allelhuia ! 🎉 On git commit le tout, on git ...
2023-12-12 / Sébastien Rochette
‘fusen’ v0.6.0 (beta) : un nouveau parseur Rmd/Qmd avec ‘lightparser’ à tester avant release
{fusen} s’appuie désormais sur {lightparser} pour détecter les différentes parties d’un fichier Rmd ou Qmd avant de gonfler votre fichier plat en tant que package R. Avant la sortie sur CRAN, j’ai besoin que vous testiez la version de développement et me signaliez les cas particuliers avec vos fichiers plats. Pas l’temps d’tout lire Veuillez essayer la version préliminaire de ...
2023-12-04 / Florence Mounier
{checkhelper} est sur le CRAN : pour ne plus avoir peur de lancer un check
Vous avez fait un super package dont vous êtes fier·e et vous souhaitez le partager avec la communauté R ? Peut-être même le soumettre au CRAN ? Avant celà, vous savez que quelques checks sont recommandés.. si si vous le savez ! mais devtools::check() vous renvoie 7 warnings, 12 notes et 200 lignes pas très claires alors… Alors vous êtes ...
2023-07-21 / Yohann Mansiaux
fusen v0.5: « inflatez » les tous !
Finie l’amnésie pour {fusen} ! La v0.5 lui permet maintenant d’avoir de la “mémoire”, ce qui va notamment vous permettre de gonfler simultanément l’ensemble de vos fichiers plats. Cette dernière version de {fusen} vise à offrir une expérience de développement de packages toujours plus fluide, pour les utilisateurs débutants comme pour les vieux routiers de son utilisation. {fusen} continue sa ...
2023-06-05 / Vincent Guyader
Dompter le téléchargement de fichier dans shiny
Mais pourquoi downloadHandler me retourne un fichier vide maintenant!? Contexte avec downloadHandler Quand on commence a jouer avec {shiny} on arrive généralement à un moment ou il est nécessaire de proposer à l’utilisateur de récuperer un document généré par l’application. Ce document peut etre un rapport pdf, un png un jpg ou que ce ce soit d’autre. La fonction adaptée ...
2023-06-01 / Sébastien Rochette
{attachment} v0.4.0 : Des changements majeurs et un fichier de configuration pour une meilleure expérience
La nouvelle version de {attachment} stocke vos paramètres dans un fichier de configuration pour une utilisation plus facile pendant le développement de votre package : lancez att_amend_desc()de n’importe où, il réutilisera votre dernier jeu de paramètres. Ceci s’accompagne de quelques changements pour une meilleure expérience. Le but de {attachment} est d’aider à gérer les dépendances des paquets pendant leur développement. ...
2023-03-15 / Colin Fay
{golem} 0.4.0 est maintenant disponible
La nouvelle version de {golem} est disponible ! Lire l’article complet sur https://golemverse.org/post/golem-0.4.0-release-on-cran/ Quoi de neuf ? Moins de dépendances Lorsque nous avons publié la première version de {golem} sur le CRAN, nous avons décidé que toutes les applications basées sur {golem} devraient dépendre de {golem}. C’était un choix conscient, et nous l’avons fait parce que {golem} vient avec des ...