Create PDF reports using R, R Markdown, LaTeX and knitr (on macOS High Sierra)

TLDR: This tutorial teaches you how to install LaTeX, R and R Markdown on macOS High Sierra. It also guides you through creating your first R Markdown file and shows how to compile it into a PDF file using knitr.

NOTE: This post builds on a post I wrote on installing RStudio on Windows a couple of years ago. If you are a Windows user, see my original post.

Introduction

If you’re using R to statistically explore data sets, and you need to write reports detailing your findings, you can benefit from using R Markdown. An R Markdown file is basically a standard Markdown file with embedded R code chunks. This tutorial teaches you how to install everything you need on a Mac running macOS High Sierra, as well as how to create R Markdown files and compile them into PDF files. It doesn’t teach you the syntax of R Markdown. Howevever, if you are familiar with R and Markdown, that should not be a problem once you have seen an example R Markdown file (which you will as part of his tutorial). If you are familiar with R and not with Markdown, follow me here on Medium or on Twitter to get notified when I post a tutorial on that. (If you’re not familar with R, I’m not quite sure why you’re reading, but of course, you’re very welcome to read along!)

Requirements

This tutorial assumes you are running macOS High Sierra. If you are running an older version of macOS you should still be able to follow along, provided you are running at least OS X El Capitan.

When writing this tutorial I used a new and 100% clean installation of macOS— no software was installed in advance and no changes had been made to the settings of the computer (except changing the color of the desktop). In other words, everything you need is explained in this tutorial.

I ran this tutorial as the default user that was created during installation of macOS. This user is an administrator. If you are running as a standard user, you may have varying degrees of success.

Having installed R and RStudio before installing MacTeX?

This guide assumes you have neither R, RStudio nor MacTeX installed before beginning the tutorial. In case you are already experienced with R but are not using LaTeX, chances are you already have R and RStudio installed but do not have MacTeX. If that’s the case for you, don’t fret. You can just skip the parts explaining how to install R and RStudio. I have tested that this works exactly the same by first installing R and RStudio and then finally installing MacTeX on a clean installation of macOS.

1. Download and Install MacTeX

You should start by installing MacTeX (pronounced mac-tech). MacTeX is a so-called LaTeX distribution (pronounced lah-tech or lay-tech). It is required for knitr to create professionally (or at least, academically) looking reports. If you haven’t heard of LaTeX before (or tried it but failed to make it work for you), don’t fret. You can write your report using RMarkdown, and knitr will automatically convert your report to a LaTeX file which it will use to create a PDF file for you. You will never have to look at the LaTeX file itself.

NOTE: If you look around on the MacTeX website, you will see there’s also another installation package available, namely the BasicTeX package. I strongly recommend you pick the full installer which I linked to above. The full installer lets you install all LaTeX packages immediately while the basic installer only installs the most common ones. And just to be clear, for this tutorial, I used the full installer. If you pick the basic one, you are on the own for this part of the ride

Even if you follow my advice and use the full installer, a handful of needed packages will not be downloaded immediately. But no reason to worry — RStudio and the MacTeX package manager will make sure packages are downloaded when needed .

2. Download and Install R

Before installing RStudio we will need to download and install R itself.

3. Download and Install RStudio

Now is the time to install RStudio.

You are now ready to open RStudio! You can find it in your Applications folder or using Launchpad.

NOTE: R and RStudio are different programs, so make sure you open RStudio and not R. (It should look like the screenshot below).

When running RStudiofor the first time, you may see a popup prompting you to install command line developer tools. In case this happen, you can simply click the Install button.

Also, your Mac may warn you that it is “an application downloaded from the Internet”. If this happens, just click the “Open” button.

IMPORTANT: R may give you some warnings like the red lines ones in above screenshot. This is easily fixed by forcing R to use UTF-8 encoding. You can do this from the Terminal by running this command:
defaults write org.R-project.R force.LANG en_US.UTF-8
Relaunch RStudio, and the warnings should be gone. See also this Stackoverflow thread.

4. Preparing for Your First R Markdown Document

You are now almost ready to create your first R Markdown document. Before you can actually work with R Markdown, you will need to install a few packages, one of which is knitr itself. Luckily, RStudio will automatically detect which packages are needed if you just create new R Markdown file. All you need is to follow the steps below.

5. Your First R Markdown Document

When RStudio is done installing packages it will show the dialog window for creating a new R Markdown file. In this dialog, you can enter the title of the document, as well as the name of the author (you, I would suppose) and which type of output document you want(HTML, PDF or Word). You can change any of these later but you might as well set it up correctly now. The main goal of this post ist to show you how you can create PDF files (using R Markdown, knitr and LaTeX) so you should select PDF, and you might as well enter your name and a title for the document. You can choose other templates in the left sidebar, for example Presentation or Shiny but we are not going to use them for this tutorial. Click OK and RStudio will generate and open your first R Markdown file as shown below.

Before actually processing the R Markdown to generate a PDF, you should make sure to save the R Markdown file. When you do this for the first time, RStudio will ask what encoding you want to use when saving the file. The file encoding determines how the characters which make up your R Markdown file are stored on disk. The topic of file encodings is way too involved for the scope of this article so I will not go into any sorts of details but I should say that I absolutely recommend that you choose UTF-8 as seen below. (Feel free to check the “Set as default encoding for source files” if you want. That way you will not have to choose encoding each time you create a new R Markdown file.)

Having saved your R Markdown file, it’s time to process it and generate a PDF file. You can do this by clicking the Knit PDF button above the text. Your PDF file will be generated and opened as shown below. You’re now ready to start writing and processing your own R Markdown files and generate awesome PDF-files using knitr and LaTeX!

For more tutorials, feel free to follow me here on Medium or on Twitter.

Developer, data scientist and Philosopher. Co-founder of Guts & Glory, creator of Readery and 🤘Lemmy.