## 02 March 2016

### Reporting simple linear regression results in R markdown

I recently wrote an R markdown document that incorporated results from a simple linear regression. I wanted the report to be reproducible (should the data change), so I included references to the summary statistics in the text. I was unsure at first how to put the numerator and denominator degrees of freedom for the F statistic as subscripts. But I found a handy page on math notation in R markdown that provided the solution I needed. The R markdown text and its result are shown below.

A few things to note.
• I defined a function, `myprint()`, to ensure that the numbers I reported in the text had the specified number of decimal places. Simply using `round()` won't always do this.
• I calculated the P value from the summary of the fitted model object.
• I defined a character scalar, `statement`, to insert the appropriate verbiage in the text regarding significance.
• I used math notation to incorporate the numerator and denominator degrees of freedom for the F statistic as subscripts.
• Finally, I noted that the subscripts appeared as expected when viewed in Word or in Firefox, but not in Chrome. Not sure why.
``````---
title: "Simple Linear Regression"
output:
html_document: default
---``````
`````````{r}
# define function to easily paste numbers into text
myprint <- function(x, d=2) {
sprintf(paste0("%.", d, "f"), round(x, d))
}

# fake data for simple linear regression
n <- 100
x <- 1:n
y <- rnorm(n)

# fit the regression, save the F statistic and P value
fit <- lm(y ~ x)
fstat <- summary(fit)\$fstatistic
pval <- pf(fstat, fstat, fstat, lower.tail=FALSE)

# text regarding significance
statement <- ifelse(pval < 0.05, "was", "was not")
`````````
``````We conducted a simple linear regression of y on x;
y `r statement` significantly related to x
(\$F_{`r fstat`,`r fstat`}\$ = `r myprint(fstat)`,
*P* = `r myprint(pval)`).``````