knitr::opts_chunk$set(echo=FALSE)

The T-test

The t-test an its variants are by far the most frequently used statistical test. In the plot below we have simulated 10000 datasets. Each dataset is composed by two samples, each containing 10 independent observations. The observations are drawn from the same gaussian distribution with zero mean and unit variance. The plot below show the distribution of the 10000 p-values obtained from the test.

set.seed(777)
y <- gl(n = 2, k = 10)
pv1 <- replicate(10000, {
  x <- rnorm(20)
  t.test(x ~ y)$p.value
})
hist(pv1, xlab = 'pvalue', breaks = 20)
abline(v = 0.05, lty = 2)

As expected the distribution is uniform, and approximately only 5% of the p-values are less than or equal to 0.05.

A slightly different example

The histogram below shows an identical simulation. Also in this case the observations in each sample come from the same distribution, which has zero mean. The only difference is that the observations are no longer independend. In each group the observations have an average correlation of just 0.05. This is enough to change significantly the shape of the distribution.

library(MASS)
S <- matrix(.05, nrow = 10, ncol = 10)
diag(S) <- 1
pv2 <- replicate(10000, {
  x <- mvrnorm(n = 2, mu = rep(0, 10), Sigma = S)
  t.test(x[1, ], x[2, ])$p.value
})
hist(pv2, xlab = 'pvalue', breaks = 20)
abline(v = 0.05, lty = 2)

With this tiny amount of correlation, the proportion of p-values below 0.05 has more than double to r round(100 * mean(pv2 < 0.05))%.

The plot below shows an identical simulation, where we have increased the average correlation from 0.05 to 0.2.

library(MASS)
S <- matrix(.2, nrow = 10, ncol = 10)
diag(S) <- 1
pv3 <- replicate(10000, {
  x <- mvrnorm(n = 2, mu = rep(0, 10), Sigma = S)
  t.test(x[1, ], x[2, ])$p.value
})
hist(pv3, xlab = 'pvalue', breaks = 20)
abline(v = 0.05, lty = 2)

p-values below 0.05 has more than double to r round(100 * mean(pv3 < 0.05))%.

Vignettes are long form documentation commonly included in packages. Because they are part of the distribution of the package, they need to be as compact as possible. The html_vignette output type provides a custom style sheet (and tweaks some options) to ensure that the resulting html is as small as possible. The html_vignette format:

Vignette Info

Note the various macros within the vignette setion of the metadata block above. These are required in order to instruct R how to build the vignette. Note that you should change the title field and the \VignetteIndexEntry to match the title of your vignette.

Styles

The html_vignette template includes a basic CSS theme. To override this theme you can specify your own CSS in the document metadata as follows:

output: 
  rmarkdown::html_vignette:
    css: mystyles.css

Figures

The figure sizes have been customised so that you can easily put two images side-by-side.

plot(1:10)
plot(10:1)

You can enable figure captions by fig_caption: yes in YAML:

output:
  rmarkdown::html_vignette:
    fig_caption: yes

Then you can use the chunk option fig.cap = "Your figure caption." in knitr.

More Examples

You can write math expressions, e.g. $Y = X\beta + \epsilon$, footnotes^[A footnote here.], and tables, e.g. using knitr::kable().

knitr::kable(head(mtcars, 10))

Also a quote using >:

"He who gives up [code] safety for [code] speed deserves neither." (via)



gdario/cameracomp documentation built on May 16, 2019, 11:13 p.m.