Skip to main content
All Posts By

R Consortium

{fusen}: Simplifying Writing Packages for R Users

By Blog

The R Consortium recently talked to Sébastien Rochette, organizer of the Meetup R Nantes, about his involvement in the R community. The group hosts a mix of physical and online events targeting the full range of R users, from beginners to experts. Sebastien works for ThinkR and has recently developed a package named {fusen}. {fusen} allows developers to use a single Notebook file for writing the package documentation, code, and tests in the same place. 

Sébastien Rochette, Head of Production at ThinkR and Organizer of Meetup R Nantes


Please share your background and your involvement in the RUGS group or in the R Community.

I began using R for research and spatial data modelization 15 years ago. I started in high school and continued while I was a fisheries science researcher. Now I continue to use R every day as the Head of Production at ThinkR, where we work as consultants and teachers of R. Our work entirely revolves around R, from installing infrastructures to teaching to and certifying public and private users, or building packages and shiny applications for them. We are also certified full-service partners of Posit (RStudio)

I am also deeply invested in the open source and R community. At ThinkR, we develop many open-source R packages for our internal use, which we are happy to share with the community. We believe that building a business over an open-source project like R requires giving back to the community. I am also the organizer of Meetup R Nantes, which alternates between physical and online events. Physical events are great for networking, while online events ensure inclusivity for those unable to attend in person.

At all of our meetups, we have two presentations. One is aimed at beginners and the other is aimed at more experienced users or presenting a personal experience. This is to make sure that members of all experience levels feel included and can learn from the events.

Please share about a project you are currently working on or have worked on in the past using the R language. Goal/reason, result, anything interesting, especially related to the industry you work in?

I am currently working on a project called {fusen}, an open-source package designed to make package building easier. While developing packages, developers usually prioritize writing code and overlook documentation. This can cause problems when reusing or sharing code with colleagues or the community.

With {fusen}, we start by opening a template notebook file (RMarkdown or Quarto). This encourages writing about the code’s purpose in plain text as it is readable. Then, the user writes the code and an example within the R Markdown file. The script example can also be used to write a unit test. The RMarkdown template proposed by {fusen} encourages people to document everything they have in mind regarding their project. This reduces the risk of forgetting their goal the next time they code, but also sets the perfect basis for sharing their work: documentation and examples are there already. The {fusen} notebook template has different script parts for code, function, and test. {fusen} then inflates the file into a full package, with the documentation and examples in the vignette, the functions in the R directory, and the unit tests in the tests directory. This approach eliminates worries about the package structure and allows developers to write everything in a single RMarkdown file.

Figure 1. The classical code of a project is written in one or multiple notebook files, called flat files, which {fusen} inflates as a full R package. A complementary file called “dev_history.Rmd” contains steps for package level documentation, and a list of tools for collaborating and sharing the project. See {fusen} documentation for more information.

We had two goals in mind when developing {fusen}. The first is that developers no longer need to open multiple files to write their packages and can focus on their package’s purpose. The second is that it encourages developers to document and test their work while making it easier for new developers to write R packages.

What resources/techniques do/did you use? (Posit (RStudio), Github, Tidyverse, etc.)

As RStudio-certified resellers, we prefer working with Posit (previously RStudio). It is much easier for beginners to use, which makes it an excellent tool for teaching R. The {fusen} project is available on GitHub since it is an open-source package, making it easily accessible to the community.

Within the {fusen} package, I use base R code, as I have been writing R code long ago before Tidyverse arrived. However, from the Tidyverse, I use the ‘tibble’ format to benefit from its consistency in data frame structures. {fusen} also relies on a package called {parsermd}, which reads and parses R Markdown files as ‘tibbles’.

Our package {attachment} also has an important role in {fusen} in reducing the difficulty of writing R packages. It helps declare all package dependencies. {attachment} reads the ‘importForm’ declared and all different ways of calling a package in your code and fills the ‘Description’ file in the correct place as imports or suggests, depending on where the dependency was declared in the package. This ensures beginners do not need to worry about dependencies or open the ‘Description’ file to write it by hand.

Because sharing and collaborating is central in the philosophy of {fusen}, I also encourage developers to use ‘git’ platforms like GitLab or GitHub, and use packages like {pkgdown}, {covr} and {testthat} to share documentation and the quality of their work.

Is this an ongoing project? Please share any details or CTA for who should get involved!

Yes, it is indeed an ongoing project that we use every day in our work to build packages for our customers. Although I initially created {fusen} to assist beginners in writing packages, we have discovered that it is equally valuable for experts, as it allows you to write the entire package in a single file (or groups of files when needed). This also makes it much easier to reuse and re-factor your code: if you split your package, you only have one file to worry about.

We are constantly improving {fusen}, and my colleague Yohann is currently working on adding a new feature allowing us to ‘inflate’ multiple flat files at the same time. With big projects, like {golem} applications, developers are used to separate family of functions in different flat files. This coming functionality will allow you to inflate all at once. 

My call to action for the community is to give this package a try. Regardless of your level of expertise in R programming, {fusen} can make package writing much more accessible to you. We have been using it for testing purposes, but over time, we have realized that it is also quite convenient for experts. For instance, you can try {fusen} to add new functionalities to your already existing package, and it will work smoothly. You won’t have to change anything in the existing structure.

I would also like to encourage beginners to try {fusen}, as they are often hesitant to write packages. Writing a package can add complexity to your code due to CRAN-specific checks and other requirements, even if you do not want to send it on CRAN. However, {fusen} can simplify this process for you. We also have another package that is not on CRAN called {checkhelper}, which will help you identify some sources of package building problems. And, if finally, you decide to share your work on CRAN, you can follow our ‘Prepare for CRAN’ guide that we regularly update.

Note that {fusen} has a teaching flat template included, which shows a full example of a working package that you can use to explore its possibilities. You will see that you can build your package locally and have its documentation shared as a web page on GitHub in one command.


How do I Join?

R Consortium’s R User Group and Small Conference Support Program (RUGS) provides grants to help R groups around the world organize, share information and support each other. We have given grants over the past four years, encompassing over 65,000 members in 35 countries. We would like to include you! Cash grants and meetup.com accounts are awarded based on the intended use of the funds and the amount of money available to distribute. We are now accepting applications!

Welcome to our newest member Parexel!

By Announcement, Blog, News

The R Consortium, a Linux Foundation project supporting the R Foundation and R community, today announced that Parexel has joined the R Consortium as a Silver Member. 

Parexel is a clinical research organization providing Phase I to IV clinical development services. Parexel uses R for a wide range of internal decision-making and regulatory interactions. They have a team of more than 21,000 global professionals collaborating with biopharmaceutical leaders, emerging innovators delivering clinical trials worldwide.

 “We are thrilled to welcome Parexel as a member of the R Consortium and connect more closely with the rest of the R Consortium community,” said Joseph Rickert, R Consortium Board Chair, and Posit’s R Community Ambassador. “Parexel brings expertise in using R as a tool to perform analyses as part of clinical trials to their sponsors. We look forward to collaborating with the Parexel team to expand the use of R in drug development.”

“Upskilling our personnel in the use of R, coupled with enhancing our computing environment to incorporate R holistically with our other, more established software options, provides Parexel with additional tools in performing analyses of clinical trial data and opens up new avenues to innovative techniques,” said Michael Cartwright, Associate Biostatistics Director, Parexel.

About The R Consortium 

The R Consortium is a 501(c)6 nonprofit organization and Linux Foundation project dedicated to the support and growth of the R user community. The R Consortium provides support to the R Foundation and to the greater R Community for projects that assist R package developers, provide documentation and training, facilitate the growth of the R Community and promote the use of the R language.

About Linux Foundation 

Founded in 2000, the Linux Foundation is supported by more than 1,000 members and is the world’s leading home for collaboration on open source software, open standards, open data, and open hardware. Linux Foundation projects like Linux, Kubernetes, Node.js and more are considered critical to the development of the world’s most important infrastructure. Its development methodology leverages established best practices and addresses the needs of contributors, users and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org

Better Understanding Your Tools Choices with Online Book HTTP Testing in R

By Blog

Working with internet sources can be a tricky subject. In order to deal with modern packages and workflows, a resource for testing online packages can be very useful. R Consortium talks to Maëlle Salmon about the online book, HTTP Testing in R, which she co-authored with Scott Chamberlain.

Photo of Maëlle: ©Photo Julie Noury Soyer 


Maëlle Salmon is a R(esearch) Software Engineer, part-time with rOpenSci. She regularly contracts for other organizations, often to develop or strengthen R packages. She also enjoys blogging about R, in particular R package development (on her personal blog, rOpenSci blog, and the R-hub blog). She is a volunteer software review editor for rOpenSci and a R-Ladies Global team member. She lives in Nancy, France.

Why is it so important to have this reference book?

For people writing packages that interact with internet sources, testing a package is always a challenge: for instance, you don’t want your tests to burden the online resource, you can’t trigger an API error to test how your package behaves in that case, etc. Before this book, there was no central place for learning about the tools one can use to help this process: vcr and webmockr, httptest, httptest2, webfakes. Also, since we compare the tools used in HTTP testing, it allows people to make a choice.

Who should use the HTTP Testing in R book? Is it aimed at developers, or does it have applications for individual users?

It is aimed at people writing packages, but these days there are many people who are writing packages as modern tools and guidance lower the barrier to package development. 

How responsive are you to new content and packages that may affect your book?

If someone opens a new issue in the book repository I try to respond quickly. I can add content based on these issues, if or when I have time. I also try to follow the changes to the packages that are explained in the book. Since the first update of the book, I added a chapter about httptest2, for example, a package for testing packages that use the more modern httr2 rather than httr. 

What format and languages is the book available in?

It is an online book. There is a website, a pdf book, and an ePub version. There is no current aim to publish in other languages. I am not against the idea, but the issue is that you would have to both translate and maintain the various versions. At this point, I do not think it would be a good idea to do this if there wasn’t a plan to maintain it in the language(s) that it has been translated. 

However, because of the work I’ve been doing for rOpenSci multilingual publishing project, including some funded by the R Consortium, I’m more open to the idea! For instance, we have a package for rendering a Quarto book in several languages https://docs.ropensci.org/babelquarto/ and another one for getting an automated translation via DeepL API, that humans can build upon: https://docs.ropensci.org/babeldown/ 

How did you get involved?

The first version of the online book was created by my former rOpenSci colleague Scott Chamberlain. He started the book to document his packages vcr and webmockr, and I was interested in that, as it related to my work maintaining rOpenSci dev guide. I applied for funding to dedicate more time to the project and decided it would also be interesting to cover other packages that provide the same functionalities. Scott reviewed and contributed to all the new chapters.

What do you do for your day job?

I am a part-time research software engineer for rOpenSci, which supports open and reproducible science through tooling and community building. I also have different missions. For instance, I received funding from R Consortium to work on developer advocacy for R-hub a few years ago, and more recently consolidating R Ladies global guidance for advisors and wisdom, an online book. My work is often related to package development.

What was your experience working with the R Consortium? Would you recommend applying for a grant to others?

I’ve now received funding from the R Consortium several times, for which I am very grateful. Getting funding for an idea really helps with being able to focus on its execution!

I’d recommend getting feedback from collaborators or less close contacts, especially those who got proposals funded or those who’d be the target audience of a proposal, as they might help you clarify your ideas. I’m indebted to all those who reviewed my own proposals!


About ISC Funded Projects

A major goal of the R Consortium is to strengthen and improve the infrastructure supporting the R Ecosystem. We seek to accomplish this by funding projects that will improve both technical infrastructure and social infrastructure. 

The 15th Annual R/Finance Conference 2023

By Blog

The fifteenth annual R/Finance conference for applied finance using R will be held on May 19 and 20, 2023 in Chicago, IL, at the University of Illinois at Chicago. 

The conference brings together experienced R users in the field to discuss quantitative finance – covering R (or Python or Julia!), portfolio construction, statistics, and more! Some of the topics that will be covered include advanced risk tools, decentralized finance, econometrics, high-performance computing, market microstructure, portfolio management, and time series analysis. 

All will be discussed within the context of using R and other programming languages as primary tools for financial model development, portfolio construction, risk management, and trading.

The keynote speakers for this year’s conference are: 

Dr. Chandni Bhan

Dr. Chandni Bhan serves as the Global Head of Quantitative Research and Model Risk at Morgan Stanley Investment Management (MSIM).

Dr. Carlos Carvalho

Carlos Carvalho is a La Quinta Centennial Professor of statistics at The University of Texas McCombs School of Business. His research focuses on Bayesian statistics in high-dimensional problems with applications ranging from finance to genetics. 

Dr. Peter Cotton

Peter currently leads data science for Intech Investments where he works on the theory and practice of portfolio construction. Peter is also the creator and maintainer of various things “microprediction” (packages, books and live probability exchange) and the author of a book on the topic published by MIT Press.

Dr. Sam Savage

Dr. Sam L. Savage is the author of The Flaw of Averages: Why We Underestimate Risk in the Face of Uncertainty (John Wiley & Sons, 2009, 2012), and Chancification: How to Fix the Flaw of Averages (2022). He is a cofounder of the Discipline of Probability Management, Executive Director of ProbabilityManagement.org, a 501(c)(3) nonprofit devoted to the communication and calculation of uncertainty, and is the inventor of the SIP (Stochastic Information Packet) a standardized data structure for the communication of uncertainty.

{riskassessment} app from the R Validation Hub voted best Shiny app at shinyConf 2023! 🎉

By Blog, News

The {riskassessment} app, presented by Aaron Clark from the R Validation Hub, was voted best Shiny app at shinyConf 2023. Congratulations!

The 2nd Annual Shiny Conference was held March 15-17, 2023. It was all virtual with over 4k global registrants. Aaron Clark, from the R Validation Hub Executive Committee, presented on the {riskassessment} app.

The app features several key features such as providing a framework to quantify risk via metrics that evaluate package dev best practices, code documentation, community engagement, and sustainability. The app aims to be a platform for quality assessment within organizations that operate in regulated industries but can be leveraged in various contexts. 

More Information

The {riskassessment} app extends the functionality of riskmetric by allowing the reviewer to: 

  • Analyze riskmetric output without the need to write code in R
  • Categorize a package with an overall assessment (i.e., low, medium, or high risk) based on subjective opinions or after tabulating user(s) consensus after the evaluating metric output
  • Download static reports with the package risk, metrics outputs, review comments, and more
  • Store assessments in a database for future viewing and historical backup
  • User authentication with admin roles to manage users and metric weighting
Here is the {riskassesment} demo app’s example dashboard. Several packages have been uploaded and run to evaluate shiny apps and if they have any risks. 

Note: Development of both riskassessment and riskmetric was made possible thanks to the R Validation Hub, a collaboration to support the adoption of R within a biopharmaceutical regulatory setting.

For more information, the talk is currently available on Appsilon’s Youtube channel

Congratulations! 🎉

Teaching and Translating R Resources in Nepal

By Blog

Binod Jung Bogati, the organizer of the R User Group Nepal, discussed his experience of fostering the budding R community in Nepal. He shared the details of a recent beginner two-day workshop and some useful techniques for organizing events. Besides using R for his work in validating clinical trial programming, Binod is actively involved in translating R resources into Nepalese.  

Binod Jung Bogati, Data Analyst / Statistical Programmer at Nimble Clinical Research 


Please share about your background and involvement with the RUGS group.

I work as a Data Analyst/Statistical Programmer at a partner company, Nimble Clinical Research, which is based in the US. My work involves clinical trial programming, and we use SAS to develop CDISC-compliant SDTM/ADaM datasets including generating Tables, Listings, and Figures (TLF). These datasets and documents are used for submission to regulatory bodies like FDA in the US. Currently, we have started using R for validating these datasets (SDTM/ADAM) and TLFs where ever possible which was previously done in SAS. Additionally, our partner company has also built a tool called Nimble Workspace (R-based Web Data Visualization & Reporting) to generate tables, listings, and figures from clinical data which will make our team more efficient. 

Regarding my background, I have a Bachelor’s in Computer Science and IT from Tribhuvan University. I started using R during my college group project. We felt that there was a lack of guidance and assistance for using R which was a big issue. So we (along with Diwash Shrestha) came up with the idea of starting this group where we can share resources and learn from each other. We conducted a lot of events before the pandemic. 

On a personal level, I am also conducting sessions in R in my local language and I have also contributed to translating R resources into Nepalese. For my next project, I applied to volunteer at OAK-SDTM in the package development for automating SDTM generation and generating raw synthetic data.

Disclaimer: All logos and trademarks mentioned or displayed on our website are the property of their respective owners.

Can you share what the R community is like in Nepal? 

R is fairly new in Nepal, and it’s currently being used more in the public health and research sector. It is also being used in academia for teaching. Most of the members of the R community are students and a few companies like the one I work for are using it at a professional level. It is a diverse group of people, but as far as my knowledge goes, the use of R is more dominant in health and academia. 

You recently had a Meetup event on Overview of R programming, can you share more on the topic covered? Why this topic? 

We conducted a two-day event on the Overview of R programming and Getting Started with R on the 1st and 2nd of April. It was a beginner-friendly session, we had diverse participants from different fields like engineering, health, IT, computing, and many others. 

On the first day, we showcased two of our previous projects. The first project was about vaccine updates in Nepal, where we published government data on Twitter with visualization and daily statistics. We showcased how we scrapped the pdf data and published it into Twitter with visualization and daily stat. 

Disclaimer: All logos and trademarks mentioned or displayed on our website are the property of their respective owners.

The second project was a recent project we are working on about census data. In this project, we used census data published by the Central Bureau of Statistics of Nepal to create visualizations and dashboards with the help of R. After that we had a Q&A session.

On the second day, we had a hands-on workshop for the participants. We used census data to create visualizations, and we gave a 5-minute demo, which they followed in the next five minutes. If they had any issues, we helped them out. It was an interactive session, and we received really great feedback for this session. We are now planning another event soon.

These events aim to help beginners learn about the tools and their use cases.

Any techniques you recommend using for planning for or during the event? (Github, zoom, other) Can these techniques be used to make your group more inclusive to people that are unable to attend physical events in the future?   

For this event, we used several tools, including Google Meet (or Microsoft Teams), Google Slides, and Posit Cloud. Google Slides proved to be an excellent tool for sharing presentation materials with attendees. We also used Google Forms for gathering feedback from participants after the event, which helps us tailor future events according to their suggestions.

GitHub is another tool we use, although only some of our participants are familiar with it. We primarily use it to publish slides and other materials.

We used the Posit Cloud to share all relevant materials during this event. It proved to be extremely helpful, particularly during hands-on workshops. In the past, we’ve faced difficulties with installing packages on participants’ systems, but with Posit Cloud, we avoided this issue entirely. For this reason, we highly recommend it for hands-on workshops.

Overall, we strive to ensure inclusivity for all participants, regardless of their ability to attend physical events. By utilizing tools like Posit Cloud and Google Forms, we can create a more inclusive experience for all attendees.


How do I Join?

R Consortium’s R User Group and Small Conference Support Program (RUGS) provides grants to help R groups around the world organize, share information and support each other. We have given grants over the past four years, encompassing over 65,000 members in 35 countries. We would like to include you! Cash grants and meetup.com accounts are awarded based on the intended use of the funds and the amount of money available to distribute. We are now accepting applications!

Sketch Package looks to add JavaScript to R packages

By Blog

Jackson Kwok, Infrastructure Steering Committee (ISC) recipient for the 2020 cycle, discusses the project Sketch and its implementation in 2021 as an R Package in the CRAN environment. The Sketch package was developed with the goal of having a package that translates R to Javascript. With this experience, Jackson then later developed the package, Animate, which requires no prior knowledge of JavaScript. Jackson discusses Sketch’s origins in JavaScript (JS) and data visualization, its potential applications, and the level of expertise required to utilize the package effectively.


RC: Where did you come up with the idea of a program that translates R into JS?

JK: It started with a GitHub issue by Jonathon Carroll at the rOpenSci R OzUnconference 2017. The idea was to use the JS library P5 for visualization in R, and a few of us came together to work on a prototype package called “realtime”. After the hackathon, I continued to pursue the idea. As I was reading the book The Nature of Code, I realized it took only a few rewriting rules to translate JS to syntactically correct R code. After some manual experiments, I wrote the package to test the idea (in the reverse direction transpiling R to JS) and it worked! The package got its name because P5 refers to the digital drawings as Sketches; I named the folder ‘Sketch’ when I studied P5 and later used the same folder for the package. There is nothing specific to P5 that makes the conversion work. I tried other JS libraries and it also worked very well, so I refactored the package into a general purpose R-to-JS transpiler. 

Examples are of Physics engine and 3D models on Sketch

RC: How can I use Sketch in a shiny app?

JK: On the documentation website, there is a page on how to use Sketch on a Shiny app. Once you develop your R script and transpile it into JS, you can include that in the Shiny app as usual.

RC: How much JS knowledge do you need to use this package?

JK: A little bit to get started. You don’t need to know the syntax, but you need to know how JS works because it works differently from R. Vector and List in R correspond roughly to Array and Object in JS. Both of them are passed by reference rather than passed by value, and Array uses 0-based indexing. That is what is needed to get started. The Pitfalls section of the documentation has the complete list.

There are some tutorials in the Tutorial section that users can follow with no knowledge of JS. They will be able to pick up some JS along the way. What Sketch does is to let users call JS libraries like R packages. You still need to learn the commands in the package to use it, just like any new R package. 

RC: Can I use different R Packages with Sketch? (aka, could I use rQTL to analyze and visualize the data?)

JK: Yes. That was one of the key milestones in the 2nd proposal of this project. Sketch uses WebSocket to establish a connection between R and the browser so that you can use any R package to perform some calculations and then pass the results to the browser. The connection is live, so you can also perform operations in the browser and get the corresponding data back to R. It is very handy if you need some interaction that is very hard to express in code. For instance, if you need to select something using a lasso tool (irregular shape) it will be much easier. You just draw it rather than have to figure out the coordinates.  

If you choose to use an R package with Sketch, then the application will no longer be stand-alone. A targeted use case is to let users add a customizable domain-specific interface to an existing analysis performed using many R packages. If you don’t use any R package at all, then the Sketch application can be deployed as a stand-alone website.

RC: What is the progress on Sketch?

JK: The second proposal is now complete with many new features added. Among other things, there is the support of R6-style of OOP which helps you structure larger programs, the WebSocket which lets you do bidirectional updates, and a knitr engine for RMD and publish support. On the package side, I do not see substantial changes from here on; the later updates will mostly be fixes and patches. 

One interesting direction that I have been looking into is to transpile R to AssemblyScript, which in turn can be compiled into WebAssembly. I have done some preliminary studies, and it seems this path is viable. AssmeblyScript is still maturing, so this will not be worked into Sketch for now, but I will keep an eye on it.

The next thing Sketch looks to expand on is use cases. Lately, I found out it is not difficult to use Sketch to create a web-based graphics device for animated plots in R, so I have been working on it, and the results are encouraging. Another thing I discovered is that it is quite easy to go from ggplot2 to rayshader to VR, and it works well with 3d histograms on maps. Also, another application that came by surprise is that with Sketch, you can control Excel from R. Excel has a JavaScript API and supports WebSocket protocol. As Sketch transpiles R to JS and speaks WebSocket, it turns out controlling Excel from R just works out fine!

I discover new possibilities with Sketch every now and then, and that makes me realize this work is really a good step in strengthening the R-Web integration and expanding the R application landscape. 

The ISC project was delivered in early 2021. Since its release date, we now have a package called Animate, on CRAN. It would have been difficult to build without the Sketch package since it uses a heavy amount of JavaScript. Animate provides animated diagrams beyond XY plots. Unlike Sketch which needs the user to have some background knowledge of integrating JavaScript, with Animate, users can manipulate graphical elements on the screen using native R commands without knowing the animations are powered by JavaScript.

Lorenz system [code] on Animate
 Maze generation [code] [tutorial] on Animate

RC: Has Sketch expanded the scope of R visualizations for the R community?  

JK: It has definitely expanded the scope for JavaScript and R. The Sketch website features a showcase page showing some of the new possibilities, including more advanced 3D model animations and agent-based visualizations. In general, Sketch is well-suited for cases in which you need to use a JavaScript library beyond direct API calls or where the API has an imperative style. 

Looking back after two years of completing the package, I think Sketch succeeded in producing  executable transpiled JavaScript and exploring how far one can control JavaScript with R, but it fell short in abstracting away the JavaScript side of things. These shortcomings are addressed by Animate. 

RC: How did you get involved?

JK: I first got into interactive visualizations back in 2016 after seeing a few great talks and demos online, e.g. the Invention on Principle, Stop Drawing Dead Fish by Bret Victor, the Parable of the polygons by Vi Hart and Nicky Case and the ConvNetJS by Andrej Karpathy. They got me started learning JS, but I am an R user at heart. I wanted to make interactive visualization in R, then the R OzUnconference came, and you know the rest. Looking back, it has been quite a journey picking up the skills needed to deliver this project.

I found out about the R consortium ISC program when the research fund that I was under ran out early. I reckoned it was a great opportunity to contribute to the R community and get some financial support, so I put in an application with Kate Saunders, a good friend who loves data visualization and R programming with expertise in spatial statistics – one of the key areas I want Sketch to develop into. 

RC: What was your experience working with the R Consortium? Would you recommend applying for a grant to others?

JK: I had a great experience and highly recommend it to others looking to develop packages that can help the R community. I personally learned a lot about the grant application process, like writing a proposal, arguing for the benefits of the project, and doing deeper research on what you want to solve and how your solution can be successful.

The process was also great for picking up medium- to long-term software planning, like structuring the development with milestones, which I previously had no experience with. Overall it has been a great learning and rewarding experience! What helped me plan the proposal were the guidelines provided by the R Consortium. I was able to take bigger infrastructure problems and group them into small solvable groups of tasks. 

RC: What do you do for your day job?

JK: I am finishing up my postdoc at the St. Vincent’s Institute of Medical Research. My research group is working on a translational project called BRAIx. It’s about transforming breast cancer screening in Australia using AI. In the project, I have been using Sketch to create customized data visualization tools for data and model diagnostics.


About ISC Funded Projects

A major goal of the R Consortium is to strengthen and improve the infrastructure supporting the R Ecosystem. We seek to accomplish this by funding projects that will improve both technical infrastructure and social infrastructure. 

R Applied to Epidemiology and Infectious Disease in Glasgow

By Blog

Antonio Hegar, organizer of the R Glasgow user group (also on Twitter), shared with the R Consortium his efforts to build an R community in Glasgow. He discussed the widespread use of R in Glasgow across a broad range of fields and stressed the need to bring together R users for knowledge sharing. He also shared his work as an epidemiologist with the Ministry of Health in Belize for reporting COVID-19-related data for public policy and planning. 

Antonio Hegar, Epidemiologist | Health Data Scientist | Public Health Researcher


Please share about your background and involvement with the RUGS group.

I am a Ph.D. student at Glasgow Caledonian University here in Scotland. My Ph.D. is focused on Machine Learning applied to large health databases, in other words, big data. Before starting my Ph.D. I worked for over five years at the local Ministry of Health in Belize, which is where I am from. R has been my primary statistical tool because of all the functionalities it offers. I come from an epidemiology/public health background and use R for my analyses. 

I came over to the UK at the end of the pandemic in late 2021, and like many people, I was stuck at home due to all the restrictions. Nevertheless, I wanted to reach out and learn as much as possible about R from the respective experts across a broad range of fields and I knew that in Glasgow there is a very large R community. So I started looking around and found the R Glasgow group on Meetup and decided to give it a try. I joined, and luckily enough Andrew Baxter was organizing it at that time along with other members. I attended a few online meetings which were very productive and I have been following it up ever since. Since the beginning of this year, I have tried to be more active in the group by organizing events.

Please share about a project you are currently working on or have worked on in the past using the R language. Goal/reason, result, anything interesting, especially related to the industry you work in?

I have worked at the Ministry of Health in Belize using R and R Markdown to generate reports for COVID-19 outbreaks. So basically I applied mathematical modeling to infectious diseases which in this case was COVID-19, and made forecasts. My mathematical model took data from the local Ministry of Health and forecasted hospitalization rates, infection rates, and mortality rates. All this information was compiled into a report which was used by local officials and the Ministry of Health for planning. 

What resources/techniques do/did you use?

As I mentioned, I used R Markdown for generating reports. As you might be aware that at the height of the pandemic, every country had a dashboard. I used Shiny for creating private dashboards displaying public health data for the Ministry of Health. Besides that, I also used the tidyverse and dplyr a lot. 

I also did data imputation because whenever you are working with real-life data, especially public health data, there are a lot of gaps. So data imputation using mice and different R packages help you fill in the gaps in the data. 

ggplot is another tool I used a lot for this project. When you are dealing with a non-technical audience you need really easy-to-understand charts and graphs which will help them easily and quickly understand what you are trying to display. So I did a lot of data visualization with ggplot and was constantly trying to look at new techniques to make data as attractive as possible. 

Can you share what the R community is like in Glasgow and Scotland in general? 

To be very honest with you, my response would be that I cannot really speak about it. As much as I have tried engaging, and of course, I am a member of the local R group, it’s proven to be much more difficult than I anticipated to actually have a cohesive understanding of the wider R community. 

What I could say from what I have noticed from looking at university websites and looking at the profiles of different lecturers and researchers is that R is definitely used across the board in all of the major universities in Glasgow. I imagine it’s the same in many other major cities like Edinburgh in Scotland. So there are people using it for modeling, geospatial analysis, public health, epidemiology, finance, and economics. 

I have met online or seen the profiles of many people who claim to be using R. But in terms of community or the lack of community, it’s all very dispersed at the moment. Which is another point that I wanted to discuss. On the surface, it appears that there is a lot of support and a lot of enthusiasm for using R at the individual as well as research department levels. But in terms of forming a cohesive group where people will come together and share ideas, that hasn’t been as forthcoming as I would have wanted. It’s less of an R community, in my point of view, and more of a network of R users with different nodes around the place. But not necessarily a functioning complete organization. 

I would like to take this opportunity to reach out to R users living in Glasgow. R Glasgow can provide R users in Glasgow with a great opportunity to learn and grow together. I would also like to give a call for speakers. As we are hosting our events online, we would love to have speakers from around the globe join our events. 


How do I Join?

R Consortium’s R User Group and Small Conference Support Program (RUGS) provides grants to help R groups around the world organize, share information and support each other. We have given grants over the past four years, encompassing over 65,000 members in 35 countries. We would like to include you! Cash grants and meetup.com accounts are awarded based on the intended use of the funds and the amount of money available to distribute. We are now accepting applications!

Using R to Develop Solutions for Industrial Problems

By Blog

Vincent Guyader talked to the R Consortium about his background with the R language, describing his acquisition of experience and skills in developing solutions to scientific and industrial problems. He also spoke about the founding of his company, ThinkR, and his role as organizer of R Addicts Paris

Vincent Guyader is the President and CTO of ThinkR, a company founded in 2015 dedicated to the development of tools and solutions based on the R language to solve different scientific and industrial problems.

Vincent is a specialist in applied statistics and also has skills in system administration, which allows him to intervene on the IS (Information systems) side for the implementation of Compute Server, the deployment of Shiny applications, and the installation of Posit workbench and Posit Connect. Vincent is the organizer of the R Addicts Paris group, the first R group of its kind in France and currently the largest with over 1,800 members. The group offers training in the use of R software for business professionals, which allows him to develop his Data Science skills. In his spare time, he enjoys cycling in Paris and practicing karate.


Please share your background and your involvement in the RUGS group or in the R Community. 

It all started during my scholarship at Agrocampus Ouest, located in Rennes, France, a distinguished institute known for its exceptional curriculum focused on statistics and agronomy, where I gained proficiency in the R programming language.

Subsequently, I ventured into the consulting field immediately after my graduation without any previous experience in running a business. At first, I brought my expertise in statistical analysis, but thanks to my rapid progress in R, I soon became an outstanding R specialist. As a result, my clients did not only approach me for my statistical competence but also for my exceptional command of the R programming language.

📸 Credits: Diane B., 2016

Please share about a project you are currently working on or have worked on in the past using the R language. Goal/reason, result, anything interesting, especially related to the industry you work in?

The main project I have been involved in is the Golem package, which allows the creation of dynamic and interactive Shiny applications. Along with my colleagues, we have written a book entitled Engineering Production-Grade Shiny Apps, which has become one of our most significant contributions to the community. This project is ongoing and has been continuously growing since its inception four years ago.

In our line of work, we collaborate with various industries, such as pharmacology, energy and banking, among others. Our main goal is to demonstrate the usefulness of R as a language that is not limited to trivial applications but can also be used to address complex business challenges. We offer this orientation to all sectors, regardless of their nature.

What is your level of experience with the R language?

Although R was not the programming language I initially started with, I have consistently used it since 2008 and have developed a good level of proficiency in the language. I am able to complete any required task with relative ease, and my experience goes beyond personal use.

I am confident in my ability to share my knowledge with others and help them improve their R programming skills. I believe that with my experience and knowledge of R, I can offer some value to any project or initiative. While I have developed some mastery of R, I still see myself as a learner and continuously seek to improve.

What resources or techniques do you use? 

At ThinkR, we leverage a wide range of technologies to achieve our goals. While we do not use Spark extensively for big data, we do use other powerful tools such as Docker, the Posit products, GitHub, GitLab, the Tidyverse, and the data table. With our team of 13 people at ThinkR, we are very fluent in all aspects of our language. It is worth noting that not all team members rely on RStudio as their IDE, as some prefer VS Code, either locally or on a remote desktop. As a result, we have a wealth of options to carry out our work effectively.

Do you have an ongoing project? Please share any details or CTA for who should get involved!

We have an imminent appointment in Avignon, a picturesque city in the south of France. The event, known as Rencontres R, will be held in a few weeks and promises to be a great event, with an expected attendance of 250 people. The two- to three-day event is dedicated exclusively to all things R in France and marks an important moment for the French R community. Excitement is growing as the date approaches and we expect it to be a success!


How do I Join?

R Consortium’s R User Group and Small Conference Support Program (RUGS) provides grants to help R groups around the world organize, share information and support each other. We have given grants over the past four years, encompassing over 65,000 members in 35 countries. We would like to include you! Cash grants and meetup.com accounts are awarded based on the intended use of the funds and the amount of money available to distribute. We are now accepting applications!

The 2023 RUGS Program is awarding grants for 2023!

By Announcement, Blog

The R Consortium gives grants to help R User Groups (RUGS) around the world organize, share information, and support each other. We are currently accepting applications! 

The R Consortium RUGS Program has grown from being a relatively modest R user group support program to being the primary vehicle for the R Consortium to award Social Infrastructure Grants. Social Infrastructure includes meetings, events, conferences and any other activity intended to strengthen the social, organizational, and identity structures of the R Community. 

In 2023, there will be three categories of RUGS Program grants:

  1. User Group Grants
    1. The intent of user group grants is to facilitate person-to-person exchange of R knowledge in small group settings on a global scale.
    2. Cash grants typically vary between $200 and $1,000 and depend on group size and special needs.
    3. All groups who are accepted into the RUGS program who are not already participating in the R-Ladies Meetup.com Professional Account program are enrolled in the RUGS program which covers Meetup.com dues.
  2. Conference Grants
    1. To qualify for a RUGS program conference grant, an event must be focused on the R language and offer at least one full day of technical talks and presentations and aim to attract participants with diverse backgrounds. These grants are for conferences organized by non-profit or volunteer groups.
  3. Special Project Grants
    1. With our Special Projects Grants categories, we hope to stimulate the imagination of local R community builders. 

Full details here: https://www.r-consortium.org/all-projects/r-user-group-support-program. Please help support R language. Submit your proposals!

R User Groups

There are currently 98 R User Groups (RUGS) organizing and learning and spreading the use of R globally. These groups welcome individuals from any background, from beginner-level users to experts. 

Check out our recent blog interviews by organizers of the R User Groups across all industries:

Get Involved!

The 2023 RUGS Program is currently taking applications and will close at midnight PST on September 30, 2023. 

These grants do not include support for software development or technical projects. Grants to support the R ecosystem’s technical infrastructure are awarded and administered through the ISC Grant Program which issues a call for proposals two times each year.