KnitR/dice.Rmd
< KnitR
--- title: "Descriptive Statistics of 10000 dice rolls - a simple KnitR example" author: "Martin Papke" date: "22 August 2018" output: pdf_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) library(knitr) library(readr) library(dplyr) library(ggplot2) ``` # A simple KnitR example ## Data import In this document we aim to show how KnitR can be used to gerenate a report or an article containing statistical data and how the R code can be integrated within the document. As example data, we use 10000 dice rolls contained in the file *dice.csv*. As usual in R we could load the data with ```{r loaddata} # data <- read.csv('dice.csv', stringsAsFactors=FALSE) # dice <- as.numeric(data$X3) ``` To give a standalone example here, we use R's feature to generate random numbers ``` dice <- sample(1:6, 10000, replace=TRUE) ``` ## Statistics Now we can do some statistics ``` {r statistics} dicemean <- mean(dice) dicemedian <- median(dice) ``` So, the mean of our dice throws is $\bar x = `r dicemean`$ and the median is `r dicemedian`. We know count the absolute frequencies of the dice results: ```{r statistics2} dicetable <- table(dice) ``` We obtain the results ```{r table1, echo=FALSE} kable(dicetable, caption='Dice results') ``` ## Plots In KnitR, plots can be done into the document, just call the usual R plot command ```{r plot} xy <- data.frame(dicetable) ggplot(data=xy, aes(x=dice, y=Freq)) + geom_bar(stat="identity") ``` ## Some data manipulation We now combine each two dice throws into one, hence we get 5000 samples of two dice throws. ```{r combine} dicetwo <- dice[seq.int(0,10000,2)] + dice[seq.int(1,10000,2)] twotable <- table(dicetwo) ``` As the result of the first two throws were $(`r dice[1]`,`r dice[2]`)$, the first entry of *dicetwo* is $\texttt{dicetwo[1]} = `r dicetwo[1]`$. Finally, we look again at a plot ```{r plot2} xy <- data.frame(twotable) ggplot(data=xy, aes(x=dicetwo, y=Freq)) + geom_bar(stat="identity") ```