# Creating an R Markdown PDF output (command line version)

## Introduction

Today, I will be talking about how to generate a nice pdf report with text, code, plots, and formulas using R markdown.

For those of you who are in a hurry, you will find the entire code at the end of this post. Simply skip to Step 2 to learn how to convert it into pdf.

Once again, I will explain how to do this in command line. Because why would anyone need graphical interfaces when they have Vim ?

## Step 1 : Create a basic .Rmd file

Save the following lines in a file named, say, “my_report.Rmd” :

---
title: "My PDF Report with R Markdown"
author:
- First Name, Last Name
output: pdf_document
fontsize: 12pt
---


## Step 2 : Convert .Rmd -> PDF

Command line in the same directory

>> Rscript -e “rmarkdown::render(‘./my_report.Rmd’)”

You sould find a file named my_report.pdf in the same directory.

The file should look like this :

## Step 3 : Add some text, and a formula

Simple Linear Regression :

\begin{aligned} &X \beta &&= Y \\ \implies &X^{T} X \beta &&= X^{T} Y \\ \end{aligned}


Step 2 to update the PDF

Formulas are written using LaTex formatting.

## Step 4 : Add some R code, and a plot

Here is some R code :

{r}
# Define the cars vector with 5 values
cars <- c(1, 3, 6, 4, 9)

# Graph cars using blue points overlayed by a line
plot(cars, type="o", col="blue")

# Create a title with a red, bold/italic font
title(main="Autos", col.main="red", font.main=4)



Step 2 to update the PDF

More “generic” plot ideas here.

## Step 5 : Change the plot size

In the above code, change

{r}

for

{r, fig.width=8, fig.height=4}


Step 2 to update the PDF

## Step 5 : Summary

Here is the entire sample code and the resulting PDF you can expect to have.

---
title: "My PDF Report with R Markdown"
author:
- My Name
output: pdf_document
fontsize: 12pt
---

Simple Linear Regression :

\begin{aligned} &X \beta &&= Y \\ \implies &X^{T} X \beta &&= X^{T} Y \\ \end{aligned}

Here is some R code :

{r, fig.width=8, fig.height=4}
# Define the cars vector with 5 values
cars <- c(1, 3, 6, 4, 9)

# Graph cars using blue points overlayed by a line
plot(cars, type="o", col="blue")

# Create a title with a red, bold/italic font
title(main="Autos", col.main="red", font.main=4)
`