Updates to the Big Book of R (2024)

[This article was first published on R - datawookie, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

The Big Book of R provides a comprehensive and ever-growing overview of a broad selection of R programming books. It was created and is maintained by Oscar Baruffa. The collection began with approximately 100 books and, with the help of contributions from the R community, has subsequently expanded to over 400. The books are grouped into topics such as geospatial, machine learning, statistics, text analysis, and many more. The Big Book of R is an excellent resource for anyone learning R programming, whether they are a beginner or advanced user.

What we set out to do

Fathom Data uses R extensively in our consulting work. We took on the migration of the Big Book of R from Bookdown to Quarto as a way of giving back to the R community, to which we owe so much. This migration offers several advantages such as:

  • Consistency — Quarto merges the functions of R Markdown, Bookdown, Distill, and Xaringan into one system. Instead of multiple YAML configuration files (_bookdown.yml and _output.yml) there’s just a single _quarto.yml file.
  • Support for Many Languages and Tools — Quarto supports many programming languages (R, Python, JavaScript, and Julia, as well as new languages that might be added in the future) and tools (like knitr, Jupyter, and Observable).
  • Works Well with Existing Content — Quarto can use most R Markdown documents and Jupyter notebooks without needing changes.
  • Elegant Outputs — Quarto, built on Pandoc, is an open-source system that lets you combine text and code to make beautifully formatted documents, web pages, blog posts, books, and more.
  • Managing Bibliographies — Quarto has a smart way to handle bibliographies.

Updates to the Big Book of R (1)

Where we started

We began with a GitHub repository that contained the R Markdown project for the book. This repository had three main parts: a preface, a page about various R communities, and the main script. The main script pulls book data from Google Sheets, sorts it into chapters, and creates a well-organised report. This report includes detailed information about the authors and books, which is used to render each chapter in the book.

Approach

Our approach involved setting up a new Quarto book project, to which we gradually transferred files. The first two R Markdown (.Rmd) files were converted into Quarto markdown format (.qmd). We didn’t need the index file because Quarto operates with a _quarto.yml file that defines the book structure. All configuration options were transferred from the index to the _quarto.yml file and the rest of the content was incorporated into the index.qmd file.

Challenges

Unlike Markdown, where a single script could render the book by fetching data from Google Sheets, Quarto required a different approach.

Quarto needs each chapter to be its own .qmd file within the project folder, and these files must be listed in _quarto.yml. We achieved this by developing a script that retrieves information from Google Sheets for each chapter, saves each chapter as an individual .qmd file, and creates a list of all the .qmd files as a text file. This made it simpler to update the _quarto.yml file with new or modified chapter titles.

Lessons learned

  • The {googlesheets4} package worked well to generate .qmd files from Google Sheets.
  • Projects can successfully be migrated from Markdown or Bookdown to Quarto with the proper configuration steps.
  • CSS could easily be integrated with Quarto to enhance the book’s presentation.
  • There is a built-in search bar for Quarto books in the _quarto.yml template.

Finished product

The finished product retains the structural essence of the original Bookdown format, with several enhancements. It features a book cover and CSS styling that improves the visual appeal of the book, which includes an easy to use light and dark mode toggle. Additionally, each chapter is equipped with its own table of contents, making it much easier for readers to navigate.

Why this is an improvement

Quarto facilitates easier collaboration with its multilingual and multi-engine support. This is ideal for projects that involve multiple programming languages or the integration of various data sources and analytical tools.

Using a script to organise content into separate .qmd files for each chapter allows for more efficient document management. This modular structure enables independent editing, version control, and reuse of individual chapters without impacting the overall document, making it suitable for large projects with numerous contributors.

Furthermore, Quarto’s support for a variety of output formats and customisations, such as websites, PDFs, and slides, improves the functionality and aesthetics of the outputs.

Future steps

The configuration of the book simplifies its maintenance. Changes to the _quarto.yml file are required only for significant updates, such as the introduction of a new chapter within Google Sheets. This setup ensures that maintenance of the book remains straightforward and manageable over time.

We’re confident that this change to the underlying infrastructure of the Big Book of R will place the project on a solid foundation, which will ensure that it continues to be one of the best resources for information about R.

Related

To leave a comment for the author, please follow the link and comment on their blog: R - datawookie.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Updates to the Big Book of R (2024)

FAQs

How to become proficient in R? ›

Learn R in 8 Steps
  1. Should you learn R?
  2. Study Essential R Terminology.
  3. Understand how R is used.
  4. Download R & Find Essential Resources.
  5. Take R Courses with Pluralsight.
  6. Commit to Best Practices for R.
  7. Meet other developers & start some advanced tasks.
  8. Get a job with R programming.
Feb 1, 2023

What is a big book in Grade R? ›

A big book is a large version of a book, often used by Foundation Phase teachers, to share a story with the whole class. In this book: We know that returning to school after lockdown will be a challenging time for children. We want to help them to talk about their worries and feelings.

Can I learn R in 2 days? ›

The learning curve for R programming is steep due to its unique syntax and extensive set of commands, requiring most new learners to spend four to six weeks mastering it.

Can I learn R in a week? ›

This is enough time to learn the basics and feel comfortable with your new skills. On the other hand, if you have some experience with programming, then spending 15–30 minutes a day for a few weeks will be enough to get up to speed with R.

What can I teach grade R learners? ›

How can I teach Grade R children?
  • Teach your class the alphabet through songs and letter matching activities.
  • Encourage your little learners to play with shapes. ...
  • Let your class build puzzles. ...
  • Teach your Grade R learners counting songs. ...
  • Hand out measurement activities to your class.

What reading level is the big book? ›

Experts have assessed the level required to read and understand the text of the Big Book. They have determined that it corresponds to level 3 on a scale of 5. According to studies conducted in the US, 48% of the population was at a level of 3 or higher.

How to teach grade R learners to write their names? ›

Eight tips for helping your child to practise writing their name
  1. Trace over dotted lines. ...
  2. Display their name on posters and labels. ...
  3. Have fun experimenting with letter formation. ...
  4. Grip the pencil properly. ...
  5. Praise early attempts at writing. ...
  6. Create a name puzzle. ...
  7. Start practising with capital letters. ...
  8. Provide verbal instructions.

How to become an expert in R programming? ›

Experts
  1. Dive into the foundations of R. Most R users are not programmers, and therefore much of their R code is not as readable, fast, or efficient as it could be. ...
  2. Learn how to extend R. ...
  3. Build your own packages. ...
  4. Use Python in your analyses. ...
  5. Try your hand at Tensorflow for deep learning. ...
  6. Communicate with R Markdown.

How to get good at using R? ›

How to Get Good with R?
  1. Try to give things OK names.
  2. Consistent naming.
  3. Stick to a style guide.
  4. Clean up your code as you go (refactor)
  5. Learn how to create a reproducible example (a reprex), and use it a lot.
  6. Write functions.
  7. Use the debugger.
Nov 10, 2023

Is it possible to learn R by yourself? ›

A great way to learn proper programming practices is by reading books. An advantage of books is that they often represent an expert voice, the skill of the community, or both. Most good books for learning programming in R will contain code examples that you can use to sharpen your skills.

Is R harder to learn than Python? ›

Overall, Python's easy-to-read syntax gives it a smoother learning curve. R tends to have a steeper learning curve at the beginning, but once you understand how to use its features, it gets significantly easier. Tip: Once you've learned one programming language, it's typically easier to learn another one.

References

Top Articles
Latest Posts
Article information

Author: Lakeisha Bayer VM

Last Updated:

Views: 5781

Rating: 4.9 / 5 (69 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Lakeisha Bayer VM

Birthday: 1997-10-17

Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

Phone: +3571527672278

Job: Manufacturing Agent

Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.