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 importIn 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)```## StatisticsNow 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')```## PlotsIn 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 manipulationWe 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")```