├── .Rprofile
├── .gitignore
├── .gitmodules
├── .zenodo.json
├── 0_helpers.R
├── 1_wrangle_data.Rmd
├── 2_descriptives.Rmd
├── 3_analyses.Rmd
├── README.md
├── _regression_summary.Rmd
├── _site.yml
├── apa-custom-no-issue.csl
├── docs
├── .Rprofile.html
├── 0_helpers.html
├── 1_wrangle_data.html
├── 2_descriptives.html
├── 2_descriptives_files
│ └── figure-html
│ │ ├── unnamed-chunk-4-1.png
│ │ ├── unnamed-chunk-4-2.png
│ │ ├── unnamed-chunk-4-3.png
│ │ └── unnamed-chunk-4-4.png
├── 3_analyses.html
├── 3_analyses_files
│ └── figure-html
│ │ ├── model_name_diagnostics-1.png
│ │ ├── model_name_diagnostics-2.png
│ │ ├── model_name_diagnostics-3.png
│ │ ├── model_name_diagnostics-4.png
│ │ ├── model_name_diagnostics-8-1.png
│ │ ├── model_name_diagnostics-8-2.png
│ │ ├── model_name_diagnostics-8-3.png
│ │ └── model_name_diagnostics-8-4.png
├── README.html
├── _regression_summary.html
├── index.html
├── site_libs
│ ├── bootstrap-3.3.5
│ │ ├── css
│ │ │ ├── bootstrap-theme.css
│ │ │ ├── bootstrap-theme.css.map
│ │ │ ├── bootstrap-theme.min.css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ ├── bootstrap.min.css
│ │ │ ├── cerulean.min.css
│ │ │ ├── cosmo.min.css
│ │ │ ├── flatly.min.css
│ │ │ ├── fonts
│ │ │ │ ├── Lato.ttf
│ │ │ │ ├── LatoBold.ttf
│ │ │ │ ├── LatoItalic.ttf
│ │ │ │ ├── NewsCycle.ttf
│ │ │ │ ├── NewsCycleBold.ttf
│ │ │ │ ├── OpenSans.ttf
│ │ │ │ ├── OpenSansBold.ttf
│ │ │ │ ├── OpenSansBoldItalic.ttf
│ │ │ │ ├── OpenSansItalic.ttf
│ │ │ │ ├── OpenSansLight.ttf
│ │ │ │ ├── OpenSansLightItalic.ttf
│ │ │ │ ├── Raleway.ttf
│ │ │ │ ├── RalewayBold.ttf
│ │ │ │ ├── Roboto.ttf
│ │ │ │ ├── RobotoBold.ttf
│ │ │ │ ├── RobotoLight.ttf
│ │ │ │ ├── RobotoMedium.ttf
│ │ │ │ ├── SourceSansPro.ttf
│ │ │ │ ├── SourceSansProBold.ttf
│ │ │ │ ├── SourceSansProItalic.ttf
│ │ │ │ ├── SourceSansProLight.ttf
│ │ │ │ └── Ubuntu.ttf
│ │ │ ├── journal.min.css
│ │ │ ├── lumen.min.css
│ │ │ ├── paper.min.css
│ │ │ ├── readable.min.css
│ │ │ ├── sandstone.min.css
│ │ │ ├── simplex.min.css
│ │ │ ├── spacelab.min.css
│ │ │ ├── united.min.css
│ │ │ └── yeti.min.css
│ │ ├── fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ └── glyphicons-halflings-regular.woff2
│ │ ├── js
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.min.js
│ │ │ └── npm.js
│ │ └── shim
│ │ │ ├── html5shiv.min.js
│ │ │ └── respond.min.js
│ ├── font-awesome-4.5.0
│ │ ├── css
│ │ │ ├── font-awesome.css
│ │ │ └── font-awesome.min.css
│ │ └── fonts
│ │ │ └── fontawesome-webfont.ttf
│ ├── jquery-1.11.3
│ │ └── jquery.min.js
│ └── navigation-1.1
│ │ ├── codefolding.js
│ │ ├── sourceembed.js
│ │ └── tabsets.js
└── styles.css
├── index.Rmd
├── packrat_bibliography.bibtex
├── repro_web_stack.Rproj
└── styles.css
/.Rprofile:
--------------------------------------------------------------------------------
1 | #' # `.Rprofile`
2 |
3 | #' ## Settings
4 | #' allow duplicate chunk labels in knitr, useful for knit_child
5 | options(knitr.duplicate.label = 'allow')
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .Rproj.user
2 | .Rhistory
3 | .RData
4 | .Ruserdata
5 | packrat/lib*/
6 | packrat/src/
7 | *.rds
8 | *.rdata
9 | *_cache/
10 | .passwords.R
11 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/.gitmodules
--------------------------------------------------------------------------------
/.zenodo.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "Reproducible website stack",
3 | "grants": [
4 | {
5 | }
6 | ],
7 | "upload_type": "software",
8 | "creators": [
9 | {
10 | "affiliation": "Your university",
11 | "name": "Your Name"
12 | }
13 | ],
14 | "access_right": "open"
15 | }
16 |
--------------------------------------------------------------------------------
/0_helpers.R:
--------------------------------------------------------------------------------
1 | #' # Helper functions used throughout {.tabset .tabset-sticky}
2 | #' documentation on the functions is interspersed through code comments
3 | #'
4 | #' ## set some options
5 | #' dont show messages when loading libraries
6 | # library = function(...) suppressMessages(base::library(...))
7 | #' never set strings as factors automatically (google for reason why)
8 | options(stringsAsFactors = FALSE)
9 | #' show four significant digits tops
10 | options(digits = 4)
11 | #' tend not to show scientific notation, because we're just psychologists
12 | options(scipen = 7)
13 | #' make output a bit wider
14 | options(width = 110)
15 | #' set a seed to make analyses depending on random number generation reproducible
16 | set.seed(1710) # if you use your significant other's birthday make sure you stay together for the sake of reproducibility
17 |
18 | #' ## Load packages
19 | #' generate the site
20 | library(rmarkdown)
21 | #' set options for chunks
22 | library(knitr)
23 | #' my formr utility package to generate e.g. the bibliography
24 | library(formr)
25 | #' pretty-printed output
26 | library(pander)
27 | #' tidyverse date times
28 | library(lubridate)
29 | #' tidyverse strings
30 | library(stringr)
31 | #' extractor functions for models
32 | library(broom)
33 | #' grammar of graphics plots
34 | library(ggplot2)
35 | #' tidyverse: transform data wide to long
36 | library(tidyr)
37 | #' tidyverse-style data wrangling. has a lot of naming conflicts, so always load last
38 | library(dplyr)
39 |
40 | #' some packages may be needed without being loaded
41 | fool_packrat = function() {
42 | # needed to install formr package
43 | library(devtools)
44 | # needed to actually run rmarkdown in RStudio, but for some reason not in its dependencies
45 | library(formatR)
46 | }
47 |
48 | #' ## Spin R files
49 | #' R scripts can be documented in markdown using Roxygen comments, as demonstrated here
50 | #' This function turns all R files (that don't have an Rmd file of the same name and that don't start with an underscore _) into HTML pages
51 | spin_R_files_to_site_html = function() {
52 | library(knitr)
53 | all_Rs = c(list.files(pattern = "^[^_].+\\.R$"), ".Rprofile")
54 | component_Rmds = list.files(pattern = "^_.+\\.Rmd$")
55 | temporary_Rmds = c()
56 | for (i in seq_along(all_Rs)) {
57 | if(all_Rs[i] == ".Rprofile") {
58 | Rmd_file = ".Rprofile.Rmd"
59 | } else {
60 | Rmd_file = paste0(all_Rs[i], "md")
61 | }
62 | if (!file.exists(Rmd_file)) {
63 | next_document = length(temporary_Rmds) + 1
64 | temporary_Rmds[next_document] = spin(all_Rs[i], knit = FALSE, envir = new.env(), format = "Rmd")
65 | prepended_yaml = paste0(c("---
66 | output:
67 | html_document:
68 | code_folding: 'show'
69 | ---
70 |
71 | ", readLines(temporary_Rmds[next_document])), collapse = "\n")
72 | cat(prepended_yaml, file = temporary_Rmds[next_document])
73 | }
74 | }
75 | components_and_scripts = c(temporary_Rmds, component_Rmds)
76 | for (i in seq_along(components_and_scripts)) {
77 | opts_chunk$set(eval = FALSE, cache = FALSE)
78 | # if we call render_site on the .R file directly it adds a header I don't like
79 | rmarkdown::render_site(components_and_scripts[i], quiet = TRUE)
80 | }
81 | opts_chunk$set(eval = TRUE, cache = TRUE)
82 | unlink(temporary_Rmds)
83 | }
84 |
85 | #' ## Output options
86 | #' use pander to pretty-print objects (if possible)
87 | opts_chunk$set(
88 | render = pander_handler
89 | )
90 |
91 | #' don't split tables, scroll horizontally
92 | panderOptions("table.split.table", Inf)
93 |
94 | #' ## Knitr components
95 | #'
96 | #' summarise regression using a "knitr component"
97 | regression_summary = function(model, indent = "##") {
98 | model_name = deparse(substitute(model_name))
99 | old_opt = options('knitr.duplicate.label')$knitr.duplicate.label
100 | options(knitr.duplicate.label = 'allow')
101 | on.exit(options(knitr.duplicate.label = old_opt))
102 | options = list(
103 | fig.path = paste0(knitr::opts_chunk$get("fig.path"), model_name, "_"),
104 | cache.path = paste0(knitr::opts_chunk$get("cache.path"), model_name, "_")
105 | )
106 | formr::asis_knit_child("_regression_summary.Rmd", options = options)
107 | }
108 |
109 |
--------------------------------------------------------------------------------
/1_wrangle_data.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | output:
3 | html_document:
4 | code_folding: "show"
5 | ---
6 |
7 | # Wrangle data {.tabset .tabset-sticky}
8 |
9 | ```{r message=FALSE, warning=FALSE}
10 | source("0_helpers.R")
11 | ```
12 |
13 | ## Wrangle wrangle
14 |
15 | ```{r}
16 | data("msleep")
17 | msleep %>%
18 | mutate(eats = factor(recode(vore, "carni" = "meat", "omni" = "everything", "herbi" = "plants", "insecti" = "insects"), c("everything","plants", "insects", "meat"))) ->
19 | msleep
20 | ```
21 |
22 | ## Save data
23 | ```{r}
24 | saveRDS(msleep, file = "msleep_processed.rds")
25 | ```
26 |
27 |
--------------------------------------------------------------------------------
/2_descriptives.Rmd:
--------------------------------------------------------------------------------
1 | # Descriptives {.tabset .tabset-sticky}
2 |
3 | ```{r message=FALSE, warning=FALSE}
4 | source("0_helpers.R")
5 | ```
6 |
7 | ## Load data
8 |
9 | ```{r}
10 | msleep = readRDS("msleep_processed.rds")
11 | ```
12 |
13 | ## Descriptives {.active}
14 | ```{r warning=FALSE}
15 | msleep %>%
16 | select(sleep_total, sleep_rem, brainwt, bodywt) %>%
17 | summarise_all_vars()
18 | ```
19 |
20 | ## Distributions
21 |
22 | ```{r}
23 | qplot(eats, data = msleep)
24 | qplot(sleep_total, data = msleep, binwidth = 0.5)
25 | qplot(sleep_rem, data = msleep, binwidth = 0.5)
26 | qplot(sleep_total, sleep_rem, data = msleep)
27 | ```
28 |
29 | ## Look at the data
30 |
31 | ```{r}
32 | library(DT)
33 | datatable(msleep,
34 | filter = 'top', options = list(
35 | pageLength = 50, autoWidth = TRUE
36 | ), rownames = F)
37 | ```
38 |
39 |
--------------------------------------------------------------------------------
/3_analyses.Rmd:
--------------------------------------------------------------------------------
1 | # Analyses {.tabset .tabset-sticky}
2 |
3 | ```{r message=FALSE, warning=FALSE}
4 | source("0_helpers.R")
5 | ```
6 |
7 | ## Load data
8 |
9 | ```{r}
10 | msleep = readRDS("msleep_processed.rds")
11 | ```
12 |
13 | ## Basic model {.tabset .tabset-sticky}
14 |
15 | ```{r}
16 | m1 = lm(sleep_rem ~ sleep_total, data = msleep)
17 | regression_summary(m1)
18 | ```
19 |
20 | ## Super-advanced model {.active .tabset .tabset-sticky}
21 |
22 | ```{r}
23 | m2 = lm(sleep_rem ~ sleep_total + log(brainwt) + log(bodywt) + eats, data = msleep)
24 | regression_summary(m2)
25 | ```
26 |
27 | ## Summary
28 |
29 | ```{r}
30 | bind_rows(
31 | "Model 1" = glance(m1),
32 | "Model 2" = glance(m2),
33 | .id = "Model") %>% arrange(AIC) %>% select(Model, adj.r.squared, BIC, deviance, df.residual)
34 | ```
35 |
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Reproducible web stack
2 |
3 | This is a stack of tools that have served me well to generate reproducible websites.
4 | Some defaults were set to make things more seamless and I added some files to show it works. This is a fairly opinionated approach and your mileage may vary.
5 |
6 | The website generated from these scripts can be viewed at:
7 | https://rubenarslan.github.io/repro_web_stack
8 |
9 | ## Requirements to get started
10 |
11 | - [RStudio](https://www.rstudio.com/products/rstudio/download/) 1.*
12 | - [R](https://cran.rstudio.com/) 3.*
13 | - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (should already be installed on Mac OS Mavericks and above)
14 |
15 | ## Set up
16 | Here's how to set up:
17 |
18 | 1. (Optional, if you have a Github account already or are willing to create one). Fork this repository (top right).
19 |
20 | 2. Open RStudio. In the top right menu "project menu", click new project.
21 |
22 | 3. In the dialog box that appears, click "Version Control". Copy-paste the URL from your repository (it will be `https://github.com/rubenarslan/repro_web_stack` except with your username, if you forked it). Create the project (you can pick a different name if you'd like).
23 |
24 | 3. In RStudio packrat should start installing packages, if not, consider running
25 |
26 | ```r
27 | packrat::restore() # this should run by default if you open the project in an up-to-date RStudio version
28 | packrat::disable() # because packrat is a bit immature, it's probably easier to only turn it on at the end, when you archive your project. It may make sense to put up with the immaturities if you're working on a lot of projects in parallel.
29 | ```
30 |
31 | 5. Now try whether you can generate the website by clicking "Knit" in the file `1_wrangle_data.Rmd`, then try the other files, then modify them to suit your project.
32 |
33 | ## Configuration
34 |
35 | Here's a few files you might want to edit:
36 |
37 | 1. `.zenodo.json` this file contains the metadata that will be used to describe your releases on Zenodo. Add the project name and the authors in this file.
38 |
39 | 2. `_site.yml` here you can set up a few global settings for how your site should look like. [More information](http://rmarkdown.rstudio.com/rmarkdown_websites.html).
40 |
41 | 3. `0_helpers.R` - here I load a few packages that I tend to always use. I think it makes sense to load a basic set of packages in this helper file and include it everywhere. Load order matters hugely in R (especially when you use dplyr, which has lots of name conflicts with other packages) and it can simplify things for you, when you know the load order. I've also set a few defaults here that make sense to me.
42 |
43 | 4. The name of the `.Rproj` file to something descriptive of your project (and correspondingly, the name on Github).
44 |
45 | ## Releasing to Zenodo
46 |
47 | To release to Zenodo via the API, your repository needs to be public. Then, go to [Zenodo](https://zenodo.org/), connect your Github account, flip the switch next to the project name and make a release on Github. It will automatically be uploaded to Zenodo and you will get a DOI, like this [](https://doi.org/10.5281/zenodo.268888).
48 |
49 | If you don't want your R-code to be public, but only the HTML files, you can either: zip the contents of the "docs" folder and upload that to Zenodo by hand or you can make a separate, public repository for your HTML files and check this out in your "docs" folder.
50 |
51 | ## Notes
52 |
53 | ### Accessing the generated site on Github pages.
54 |
55 | After a bit of trial and error with my students, I think the best option for beginners to release the website you generated, is to serve it from the "docs" folder in your repository. You will have to go to your repository settings on Github and pick "docs" as the Github Pages option.
56 |
--------------------------------------------------------------------------------
/_regression_summary.Rmd:
--------------------------------------------------------------------------------
1 | ```{r setup,eval=TRUE}
2 | if (!exists("indent")) {
3 | indent = '##' # ugly hack so _regression_summary can be "spun" (variables included via `r ` have to be available)
4 | }
5 | ```
6 |
7 | `r indent`# Summary
8 | ```{r summary}
9 | summary(model)
10 | ```
11 |
12 | `r indent`# Diagnostics
13 | ```{r diagnostics}
14 | plot(model)
15 | ```
16 |
--------------------------------------------------------------------------------
/_site.yml:
--------------------------------------------------------------------------------
1 | name: reproducible-website-stack
2 | output_dir: docs
3 | navbar:
4 | title: Reproducible website stack
5 | left:
6 | - text: Overview
7 | href: index.html
8 | - text: Data wrangling
9 | href: 1_wrangle_data.html
10 | - text: Descriptives
11 | href: 2_descriptives.html
12 | - text: Analyses
13 | href: 3_analyses.html
14 | right:
15 | - text: ''
16 | icon: fa-github
17 | href: https://github.com/rubenarslan/repro_web_stack
18 | output:
19 | html_document:
20 | theme: paper
21 | code_folding: hide
22 | df_print: tibble
23 | code_download: yes
24 | highlight: zenburn
25 | css: styles.css
26 | lib_dir: site_libs
27 | self_contained: no
28 | exclude:
29 | - packrat
30 | - '*.rda'
31 | - '*.pdf'
32 | - '*.dta'
33 | - '*.csv'
34 | - geo
35 | - item_tables
36 | - '*.csl'
37 | - '*.bibtex'
38 |
39 |
--------------------------------------------------------------------------------
/apa-custom-no-issue.csl:
--------------------------------------------------------------------------------
1 |
2 |
446 |
--------------------------------------------------------------------------------
/docs/.Rprofile.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
70 |
75 |
76 |
77 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
134 |
135 |
136 |
169 |
170 |
187 |
188 |
189 |
190 |
191 |
192 |
197 |
198 |
199 |
202 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
251 |
252 |
268 |
269 |
270 |
271 |
.Rprofile
272 |
273 |
Settings
274 |
allow duplicate chunk labels in knitr, useful for knit_child
275 |
options (knitr.duplicate.label = 'allow' )
276 |
277 | #### -- Packrat Autoloader (version 0.4.8-1) -- ####
278 | source ("packrat/init.R" )
279 | #### -- End Packrat Autoloader -- ####
280 |
281 |
282 |
283 |
LS0tCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9mb2xkaW5nOiAnc2hvdycKLS0tCgoKIyBgLlJwcm9maWxlYAojIyBTZXR0aW5ncwphbGxvdyBkdXBsaWNhdGUgY2h1bmsgbGFiZWxzIGluIGtuaXRyLCB1c2VmdWwgZm9yIGtuaXRfY2hpbGQKCmBgYHtyIH0Kb3B0aW9ucyhrbml0ci5kdXBsaWNhdGUubGFiZWwgPSAnYWxsb3cnKQoKIyMjIyAtLSBQYWNrcmF0IEF1dG9sb2FkZXIgKHZlcnNpb24gMC40LjgtMSkgLS0gIyMjIwpzb3VyY2UoInBhY2tyYXQvaW5pdC5SIikKIyMjIyAtLSBFbmQgUGFja3JhdCBBdXRvbG9hZGVyIC0tICMjIyMKYGBgCg==
284 |
285 |
286 |
287 |
288 |
289 |
301 |
302 |
303 |
311 |
312 |
313 |
314 |
--------------------------------------------------------------------------------
/docs/0_helpers.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
70 |
75 |
76 |
77 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
134 |
135 |
136 |
169 |
170 |
187 |
188 |
189 |
190 |
191 |
192 |
197 |
198 |
199 |
202 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
251 |
252 |
268 |
269 |
270 |
271 |
Helper functions used throughout
272 |
documentation on the functions is interspersed through code comments
273 |
274 |
set some options
275 |
dont show messages when loading libraries
276 |
# library = function(...) suppressMessages(base::library(...))
277 |
never set strings as factors automatically (google for reason why)
278 |
options (stringsAsFactors = FALSE )
279 |
show four significant digits tops
280 |
281 |
tend not to show scientific notation, because we’re just psychologists
282 |
283 |
make output a bit wider
284 |
285 |
set a seed to make analyses depending on random number generation reproducible
286 |
set.seed (1710 ) # if you use your significant other's birthday make sure you stay together for the sake of reproducibility
287 |
288 |
289 |
Load packages
290 |
generate the site
291 |
292 |
set options for chunks
293 |
294 |
my formr utility package to generate e.g. the bibliography
295 |
296 |
pretty-printed output
297 |
298 |
tidyverse date times
299 |
300 |
tidyverse strings
301 |
302 |
extractor functions for models
303 |
304 |
grammar of graphics plots
305 |
306 |
tidyverse: transform data wide to long
307 |
308 |
tidyverse-style data wrangling. has a lot of naming conflicts, so always load last
309 |
310 |
some packages may be needed without being loaded
311 |
fool_packrat = function () {
312 | # needed to install formr package
313 | library (devtools)
314 | # needed to actually run rmarkdown in RStudio, but for some reason not in its dependencies
315 | library (formatR)
316 | }
317 |
318 |
319 |
Spin R files
320 |
R scripts can be documented in markdown using Roxygen comments, as demonstrated here This function turns all R files (that don’t have an Rmd file of the same name and that don’t start with an underscore _) into HTML pages
321 |
spin_R_files_to_site_html = function () {
322 | library (knitr)
323 | all_Rs = c (list.files (pattern = "^[^_].+ \\ .R$" ), ".Rprofile" )
324 | component_Rmds = list.files (pattern = "^_.+ \\ .Rmd$" )
325 | temporary_Rmds = c ()
326 | for (i in seq_along (all_Rs)) {
327 | if (all_Rs[i] == ".Rprofile" ) {
328 | Rmd_file = ".Rprofile.Rmd"
329 | } else {
330 | Rmd_file = paste0 (all_Rs[i], "md" )
331 | }
332 | if (! file.exists (Rmd_file)) {
333 | next_document = length (temporary_Rmds) + 1
334 | temporary_Rmds[next_document] = spin (all_Rs[i], knit = FALSE , envir = new.env (), format = "Rmd" )
335 | prepended_yaml = paste0 (c ("---
336 | output:
337 | html_document:
338 | code_folding: 'show'
339 | ---
340 |
341 | " , readLines (temporary_Rmds[next_document])), collapse = " \n " )
342 | cat (prepended_yaml, file = temporary_Rmds[next_document])
343 | }
344 | }
345 | components_and_scripts = c (temporary_Rmds, component_Rmds)
346 | for (i in seq_along (components_and_scripts)) {
347 | opts_chunk$ set (eval = FALSE , cache = FALSE )
348 | # if we call render_site on the .R file directly it adds a header I don't like
349 | rmarkdown:: render_site (components_and_scripts[i], quiet = TRUE )
350 | }
351 | opts_chunk$ set (eval = TRUE , cache = TRUE )
352 | unlink (temporary_Rmds)
353 | }
354 |
355 |
356 |
Output options
357 |
use pander to pretty-print objects (if possible)
358 |
opts_chunk$ set (
359 | render = pander_handler
360 | )
361 |
don’t split tables, scroll horizontally
362 |
panderOptions ("table.split.table" , Inf )
363 |
364 |
365 |
Knitr components
366 |
summarise regression using a “knitr component”
367 |
regression_summary = function (model, indent = "##" ) {
368 | model_name = deparse (substitute (model_name))
369 | old_opt = options ('knitr.duplicate.label' )$ knitr.duplicate.label
370 | options (knitr.duplicate.label = 'allow' )
371 | on.exit (options (knitr.duplicate.label = old_opt))
372 | options = list (
373 | fig.path = paste0 (knitr:: opts_chunk$ get ("fig.path" ), model_name, "_" ),
374 | cache.path = paste0 (knitr:: opts_chunk$ get ("cache.path" ), model_name, "_" )
375 | )
376 | formr:: asis_knit_child ("_regression_summary.Rmd" , options = options)
377 | }
378 |
379 |
380 |
381 |
LS0tCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9mb2xkaW5nOiAnc2hvdycKLS0tCgoKIyBIZWxwZXIgZnVuY3Rpb25zIHVzZWQgdGhyb3VnaG91dCB7LnRhYnNldCAudGFic2V0LXN0aWNreX0KZG9jdW1lbnRhdGlvbiBvbiB0aGUgZnVuY3Rpb25zIGlzIGludGVyc3BlcnNlZCB0aHJvdWdoIGNvZGUgY29tbWVudHMKCiMjIHNldCBzb21lIG9wdGlvbnMKZG9udCBzaG93IG1lc3NhZ2VzIHdoZW4gbG9hZGluZyBsaWJyYXJpZXMKCmBgYHtyIH0KIyBsaWJyYXJ5ID0gZnVuY3Rpb24oLi4uKSBzdXBwcmVzc01lc3NhZ2VzKGJhc2U6OmxpYnJhcnkoLi4uKSkKYGBgCgpuZXZlciBzZXQgc3RyaW5ncyBhcyBmYWN0b3JzIGF1dG9tYXRpY2FsbHkgKGdvb2dsZSBmb3IgcmVhc29uIHdoeSkKCmBgYHtyIH0Kb3B0aW9ucyhzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpCmBgYAoKc2hvdyBmb3VyIHNpZ25pZmljYW50IGRpZ2l0cyB0b3BzCgpgYGB7ciB9Cm9wdGlvbnMoZGlnaXRzID0gNCkKYGBgCgp0ZW5kIG5vdCB0byBzaG93IHNjaWVudGlmaWMgbm90YXRpb24sIGJlY2F1c2Ugd2UncmUganVzdCBwc3ljaG9sb2dpc3RzCgpgYGB7ciB9Cm9wdGlvbnMoc2NpcGVuID0gNykKYGBgCgptYWtlIG91dHB1dCBhIGJpdCB3aWRlcgoKYGBge3IgfQpvcHRpb25zKHdpZHRoID0gMTEwKQpgYGAKCnNldCBhIHNlZWQgdG8gbWFrZSBhbmFseXNlcyBkZXBlbmRpbmcgb24gcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIHJlcHJvZHVjaWJsZQoKYGBge3IgfQpzZXQuc2VlZCgxNzEwKSAjIGlmIHlvdSB1c2UgeW91ciBzaWduaWZpY2FudCBvdGhlcidzIGJpcnRoZGF5IG1ha2Ugc3VyZSB5b3Ugc3RheSB0b2dldGhlciBmb3IgdGhlIHNha2Ugb2YgcmVwcm9kdWNpYmlsaXR5CmBgYAoKIyMgTG9hZCBwYWNrYWdlcwpnZW5lcmF0ZSB0aGUgc2l0ZQoKYGBge3IgfQpsaWJyYXJ5KHJtYXJrZG93bikKYGBgCgpzZXQgb3B0aW9ucyBmb3IgY2h1bmtzCgpgYGB7ciB9CmxpYnJhcnkoa25pdHIpCmBgYAoKbXkgZm9ybXIgdXRpbGl0eSBwYWNrYWdlIHRvIGdlbmVyYXRlIGUuZy4gdGhlIGJpYmxpb2dyYXBoeQoKYGBge3IgfQpsaWJyYXJ5KGZvcm1yKQpgYGAKCnByZXR0eS1wcmludGVkIG91dHB1dAoKYGBge3IgfQpsaWJyYXJ5KHBhbmRlcikKYGBgCgp0aWR5dmVyc2UgZGF0ZSB0aW1lcwoKYGBge3IgfQpsaWJyYXJ5KGx1YnJpZGF0ZSkKYGBgCgp0aWR5dmVyc2Ugc3RyaW5ncwoKYGBge3IgfQpsaWJyYXJ5KHN0cmluZ3IpCmBgYAoKZXh0cmFjdG9yIGZ1bmN0aW9ucyBmb3IgbW9kZWxzCgpgYGB7ciB9CmxpYnJhcnkoYnJvb20pCmBgYAoKZ3JhbW1hciBvZiBncmFwaGljcyBwbG90cwoKYGBge3IgfQpsaWJyYXJ5KGdncGxvdDIpCmBgYAoKdGlkeXZlcnNlOiB0cmFuc2Zvcm0gZGF0YSB3aWRlIHRvIGxvbmcKCmBgYHtyIH0KbGlicmFyeSh0aWR5cikKYGBgCgp0aWR5dmVyc2Utc3R5bGUgZGF0YSB3cmFuZ2xpbmcuIGhhcyBhIGxvdCBvZiBuYW1pbmcgY29uZmxpY3RzLCBzbyBhbHdheXMgbG9hZCBsYXN0CgpgYGB7ciB9CmxpYnJhcnkoZHBseXIpCmBgYAoKc29tZSBwYWNrYWdlcyBtYXkgYmUgbmVlZGVkIHdpdGhvdXQgYmVpbmcgbG9hZGVkCgpgYGB7ciB9CmZvb2xfcGFja3JhdCA9IGZ1bmN0aW9uKCkgewoJIyBuZWVkZWQgdG8gaW5zdGFsbCBmb3JtciBwYWNrYWdlCglsaWJyYXJ5KGRldnRvb2xzKQoJIyBuZWVkZWQgdG8gYWN0dWFsbHkgcnVuIHJtYXJrZG93biBpbiBSU3R1ZGlvLCBidXQgZm9yIHNvbWUgcmVhc29uIG5vdCBpbiBpdHMgZGVwZW5kZW5jaWVzCglsaWJyYXJ5KGZvcm1hdFIpCn0KYGBgCgojIyBTcGluIFIgZmlsZXMKUiBzY3JpcHRzIGNhbiBiZSBkb2N1bWVudGVkIGluIG1hcmtkb3duIHVzaW5nIFJveHlnZW4gY29tbWVudHMsIGFzIGRlbW9uc3RyYXRlZCBoZXJlClRoaXMgZnVuY3Rpb24gdHVybnMgYWxsIFIgZmlsZXMgKHRoYXQgZG9uJ3QgaGF2ZSBhbiBSbWQgZmlsZSBvZiB0aGUgc2FtZSBuYW1lIGFuZCB0aGF0IGRvbid0IHN0YXJ0IHdpdGggYW4gdW5kZXJzY29yZSBfKSBpbnRvIEhUTUwgcGFnZXMKCmBgYHtyIH0Kc3Bpbl9SX2ZpbGVzX3RvX3NpdGVfaHRtbCA9IGZ1bmN0aW9uKCkgewoJbGlicmFyeShrbml0cikKCWFsbF9ScyA9IGMobGlzdC5maWxlcyhwYXR0ZXJuID0gIl5bXl9dLitcXC5SJCIpLCAiLlJwcm9maWxlIikKCWNvbXBvbmVudF9SbWRzID0gbGlzdC5maWxlcyhwYXR0ZXJuID0gIl5fLitcXC5SbWQkIikKCXRlbXBvcmFyeV9SbWRzID0gYygpCglmb3IgKGkgaW4gc2VxX2Fsb25nKGFsbF9ScykpIHsKCQlpZihhbGxfUnNbaV0gPT0gIi5ScHJvZmlsZSIpIHsKCQkJUm1kX2ZpbGUgPSAiLlJwcm9maWxlLlJtZCIKCQl9IGVsc2UgewoJCQlSbWRfZmlsZSA9IHBhc3RlMChhbGxfUnNbaV0sICJtZCIpCgkJfQoJCWlmICghZmlsZS5leGlzdHMoUm1kX2ZpbGUpKSB7CgkJCW5leHRfZG9jdW1lbnQgPSBsZW5ndGgodGVtcG9yYXJ5X1JtZHMpICsgMQoJCQl0ZW1wb3JhcnlfUm1kc1tuZXh0X2RvY3VtZW50XSA9IHNwaW4oYWxsX1JzW2ldLCBrbml0ID0gRkFMU0UsIGVudmlyID0gbmV3LmVudigpLCBmb3JtYXQgPSAiUm1kIikKCQkJcHJlcGVuZGVkX3lhbWwgPSBwYXN0ZTAoYygiLS0tCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9mb2xkaW5nOiAnc2hvdycKLS0tCgoiLCByZWFkTGluZXModGVtcG9yYXJ5X1JtZHNbbmV4dF9kb2N1bWVudF0pKSwgY29sbGFwc2UgPSAiXG4iKQoJCQljYXQocHJlcGVuZGVkX3lhbWwsIGZpbGUgPSB0ZW1wb3JhcnlfUm1kc1tuZXh0X2RvY3VtZW50XSkKCQl9Cgl9Cgljb21wb25lbnRzX2FuZF9zY3JpcHRzID0gYyh0ZW1wb3JhcnlfUm1kcywgY29tcG9uZW50X1JtZHMpCglmb3IgKGkgaW4gc2VxX2Fsb25nKGNvbXBvbmVudHNfYW5kX3NjcmlwdHMpKSB7CgkJb3B0c19jaHVuayRzZXQoZXZhbCA9IEZBTFNFLCBjYWNoZSA9IEZBTFNFKQoJCSMgaWYgd2UgY2FsbCByZW5kZXJfc2l0ZSBvbiB0aGUgLlIgZmlsZSBkaXJlY3RseSBpdCBhZGRzIGEgaGVhZGVyIEkgZG9uJ3QgbGlrZQoJCXJtYXJrZG93bjo6cmVuZGVyX3NpdGUoY29tcG9uZW50c19hbmRfc2NyaXB0c1tpXSwgcXVpZXQgPSBUUlVFKQoJfQoJb3B0c19jaHVuayRzZXQoZXZhbCA9IFRSVUUsIGNhY2hlID0gVFJVRSkKCXVubGluayh0ZW1wb3JhcnlfUm1kcykKfQpgYGAKCiMjIE91dHB1dCBvcHRpb25zCnVzZSBwYW5kZXIgdG8gcHJldHR5LXByaW50IG9iamVjdHMgKGlmIHBvc3NpYmxlKQoKYGBge3IgfQpvcHRzX2NodW5rJHNldCgKCXJlbmRlciA9IHBhbmRlcl9oYW5kbGVyCgkpCmBgYAoKZG9uJ3Qgc3BsaXQgdGFibGVzLCBzY3JvbGwgaG9yaXpvbnRhbGx5CgpgYGB7ciB9CnBhbmRlck9wdGlvbnMoInRhYmxlLnNwbGl0LnRhYmxlIiwgSW5mKQpgYGAKCiMjIEtuaXRyIGNvbXBvbmVudHMKCnN1bW1hcmlzZSByZWdyZXNzaW9uIHVzaW5nIGEgImtuaXRyIGNvbXBvbmVudCIKCmBgYHtyIH0KcmVncmVzc2lvbl9zdW1tYXJ5ID0gZnVuY3Rpb24obW9kZWwsIGluZGVudCA9ICIjIyIpIHsKCW1vZGVsX25hbWUgPSBkZXBhcnNlKHN1YnN0aXR1dGUobW9kZWxfbmFtZSkpCglvbGRfb3B0ID0gb3B0aW9ucygna25pdHIuZHVwbGljYXRlLmxhYmVsJykka25pdHIuZHVwbGljYXRlLmxhYmVsCglvcHRpb25zKGtuaXRyLmR1cGxpY2F0ZS5sYWJlbCA9ICdhbGxvdycpCglvbi5leGl0KG9wdGlvbnMoa25pdHIuZHVwbGljYXRlLmxhYmVsID0gb2xkX29wdCkpCglvcHRpb25zID0gbGlzdCgKCQlmaWcucGF0aCA9IHBhc3RlMChrbml0cjo6b3B0c19jaHVuayRnZXQoImZpZy5wYXRoIiksIG1vZGVsX25hbWUsICJfIiksCgkJY2FjaGUucGF0aCA9IHBhc3RlMChrbml0cjo6b3B0c19jaHVuayRnZXQoImNhY2hlLnBhdGgiKSwgbW9kZWxfbmFtZSwgIl8iKQoJKQoJZm9ybXI6OmFzaXNfa25pdF9jaGlsZCgiX3JlZ3Jlc3Npb25fc3VtbWFyeS5SbWQiLCBvcHRpb25zID0gb3B0aW9ucykKfQpgYGAK
382 |
383 |
384 |
385 |
386 |
387 |
399 |
400 |
401 |
409 |
410 |
411 |
412 |
--------------------------------------------------------------------------------
/docs/1_wrangle_data.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
70 |
75 |
76 |
77 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
134 |
135 |
136 |
169 |
170 |
187 |
188 |
189 |
190 |
191 |
192 |
197 |
198 |
199 |
202 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
251 |
252 |
268 |
269 |
270 |
271 |
Wrangle data
272 |
273 |
274 |
Wrangle wrangle
275 |
data ("msleep" )
276 | msleep %>%
277 | mutate (eats = factor (recode (vore, "carni" = "meat" , "omni" = "everything" , "herbi" = "plants" , "insecti" = "insects" ), c ("everything" ,"plants" , "insects" , "meat" ))) ->
278 | msleep
279 |
280 |
281 |
Save data
282 |
saveRDS (msleep, file = "msleep_processed.rds" )
283 |
284 |
285 |
286 |
LS0tCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9mb2xkaW5nOiAic2hvdyIKLS0tCgojIFdyYW5nbGUgZGF0YSB7LnRhYnNldCAudGFic2V0LXN0aWNreX0KCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CnNvdXJjZSgiMF9oZWxwZXJzLlIiKQpgYGAKCiMjIFdyYW5nbGUgd3JhbmdsZQoKYGBge3J9CmRhdGEoIm1zbGVlcCIpCm1zbGVlcCAlPiUgCgltdXRhdGUoZWF0cyA9IGZhY3RvcihyZWNvZGUodm9yZSwgImNhcm5pIiA9ICJtZWF0IiwgIm9tbmkiID0gImV2ZXJ5dGhpbmciLCAiaGVyYmkiID0gInBsYW50cyIsICJpbnNlY3RpIiA9ICJpbnNlY3RzIiksIGMoImV2ZXJ5dGhpbmciLCJwbGFudHMiLCAiaW5zZWN0cyIsICJtZWF0IikpKSAtPgptc2xlZXAKYGBgCgojIyBTYXZlIGRhdGEKYGBge3J9CnNhdmVSRFMobXNsZWVwLCBmaWxlID0gIm1zbGVlcF9wcm9jZXNzZWQucmRzIikKYGBgCgo=
287 |
288 |
289 |
290 |
291 |
292 |
304 |
305 |
306 |
314 |
315 |
316 |
317 |
--------------------------------------------------------------------------------
/docs/2_descriptives_files/figure-html/unnamed-chunk-4-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/2_descriptives_files/figure-html/unnamed-chunk-4-1.png
--------------------------------------------------------------------------------
/docs/2_descriptives_files/figure-html/unnamed-chunk-4-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/2_descriptives_files/figure-html/unnamed-chunk-4-2.png
--------------------------------------------------------------------------------
/docs/2_descriptives_files/figure-html/unnamed-chunk-4-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/2_descriptives_files/figure-html/unnamed-chunk-4-3.png
--------------------------------------------------------------------------------
/docs/2_descriptives_files/figure-html/unnamed-chunk-4-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/2_descriptives_files/figure-html/unnamed-chunk-4-4.png
--------------------------------------------------------------------------------
/docs/3_analyses.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
70 |
75 |
76 |
77 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
134 |
135 |
136 |
169 |
170 |
187 |
188 |
189 |
190 |
191 |
192 |
197 |
198 |
199 |
202 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
251 |
252 |
268 |
269 |
270 |
271 |
Analyses
272 |
273 |
274 |
Load data
275 |
msleep = readRDS ("msleep_processed.rds" )
276 |
277 |
278 |
Basic model
279 |
m1 = lm (sleep_rem ~ sleep_total, data = msleep)
280 | regression_summary (m1)
281 |
if (! exists ("indent" )) {
282 | indent = '##' # ugly hack so _regression_summary can be "spun" (variables included via `r ` have to be available)
283 | }
284 |
285 |
Summary
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
301 |
302 |
303 |
304 | -0.3613
305 | 0.2783
306 | -1.298
307 | 0.1993
308 |
309 |
310 | 0.2153
311 | 0.02459
312 | 8.756
313 | 2.916e-12
314 |
315 |
316 |
317 |
318 | Fitting linear model: sleep_rem ~ sleep_total
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
332 |
333 |
334 |
335 | 61
336 | 0.8634
337 | 0.5651
338 | 0.5578
339 |
340 |
341 |
342 |
343 |
344 |
Diagnostics
345 |
346 |
347 |
348 |
349 |
350 |
Super-advanced model
351 |
m2 = lm (sleep_rem ~ sleep_total + log (brainwt) + log (bodywt) + eats, data = msleep)
352 | regression_summary (m2)
353 |
if (! exists ("indent" )) {
354 | indent = '##' # ugly hack so _regression_summary can be "spun" (variables included via `r ` have to be available)
355 | }
356 |
357 |
Summary
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
373 |
374 |
375 |
376 | -1.731
377 | 0.9195
378 | -1.883
379 | 0.06787
380 |
381 |
382 | 0.1879
383 | 0.03814
384 | 4.926
385 | 0.00001886
386 |
387 |
388 | -0.3747
389 | 0.1946
390 | -1.926
391 | 0.06203
392 |
393 |
394 | 0.3648
395 | 0.1527
396 | 2.39
397 | 0.02223
398 |
399 |
400 | -0.5707
401 | 0.3218
402 | -1.773
403 | 0.08464
404 |
405 |
406 | 0.3757
407 | 0.486
408 | 0.7731
409 | 0.4445
410 |
411 |
412 | 0.2837
413 | 0.3864
414 | 0.7344
415 | 0.4675
416 |
417 |
418 |
419 |
420 | Fitting linear model: sleep_rem ~ sleep_total + log(brainwt) + log(bodywt) + eats
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
434 |
435 |
436 |
437 | 43
438 | 0.7932
439 | 0.6408
440 | 0.5809
441 |
442 |
443 |
444 |
445 |
446 |
Diagnostics
447 |
448 |
449 |
450 |
451 |
452 |
Summary
453 |
bind_rows (
454 | "Model 1" = glance (m1),
455 | "Model 2" = glance (m2),
456 | .id = "Model" ) %>% arrange (AIC) %>% select (Model, adj.r.squared, BIC, deviance, df.residual)
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
473 |
474 |
475 |
476 | Model 2
477 | 0.5809
478 | 124.6
479 | 22.65
480 | 36
481 |
482 |
483 | Model 1
484 | 0.5578
485 | 165.5
486 | 43.98
487 | 59
488 |
489 |
490 |
491 |
492 |
493 |
494 |
IyBBbmFseXNlcyB7LnRhYnNldCAudGFic2V0LXN0aWNreX0KCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CnNvdXJjZSgiMF9oZWxwZXJzLlIiKQpgYGAKCiMjIExvYWQgZGF0YQoKYGBge3J9Cm1zbGVlcCA9IHJlYWRSRFMoIm1zbGVlcF9wcm9jZXNzZWQucmRzIikKYGBgCgojIyBCYXNpYyBtb2RlbCB7LnRhYnNldCAudGFic2V0LXN0aWNreX0KCmBgYHtyfQptMSA9IGxtKHNsZWVwX3JlbSB+IHNsZWVwX3RvdGFsLCBkYXRhID0gbXNsZWVwKQpyZWdyZXNzaW9uX3N1bW1hcnkobTEpCmBgYAoKIyMgU3VwZXItYWR2YW5jZWQgbW9kZWwgey5hY3RpdmUgLnRhYnNldCAudGFic2V0LXN0aWNreX0KCmBgYHtyfQptMiA9IGxtKHNsZWVwX3JlbSB+IHNsZWVwX3RvdGFsICsgbG9nKGJyYWlud3QpICsgbG9nKGJvZHl3dCkgKyBlYXRzLCBkYXRhID0gbXNsZWVwKQpyZWdyZXNzaW9uX3N1bW1hcnkobTIpCmBgYAoKIyMgU3VtbWFyeQoKYGBge3J9CmJpbmRfcm93cygKCSJNb2RlbCAxIiA9IGdsYW5jZShtMSksIAoJIk1vZGVsIDIiID0gZ2xhbmNlKG0yKSwKLmlkID0gIk1vZGVsIikgJT4lIGFycmFuZ2UoQUlDKSAlPiUgc2VsZWN0KE1vZGVsLCBhZGouci5zcXVhcmVkLCBCSUMsIGRldmlhbmNlLCBkZi5yZXNpZHVhbCkKYGBgCgo=
495 |
496 |
497 |
498 |
499 |
500 |
512 |
513 |
514 |
522 |
523 |
524 |
525 |
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-1.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-2.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-3.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-4.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-8-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-8-1.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-8-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-8-2.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-8-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-8-3.png
--------------------------------------------------------------------------------
/docs/3_analyses_files/figure-html/model_name_diagnostics-8-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/3_analyses_files/figure-html/model_name_diagnostics-8-4.png
--------------------------------------------------------------------------------
/docs/README.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
69 |
74 |
75 |
76 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
133 |
134 |
135 |
168 |
169 |
186 |
187 |
188 |
189 |
190 |
191 |
196 |
197 |
198 |
201 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
250 |
251 |
267 |
268 |
269 |
270 |
Reproducible web stack
271 |
This is a stack of tools that have served me well to generate reproducible websites. Some defaults were set to make things more seamless and I added some files to show it works. This is a fairly opinionated approach and your mileage may vary.
272 |
The website generated from these scripts can be viewed at:
273 | https://rubenarslan.github.io/repro_web_stack
274 |
275 |
276 |
Requirements to get started
277 |
278 | RStudio 1.*
279 | R 3.*
280 | Git (should already be installed on Mac OS Mavericks and above)
281 |
282 |
283 |
284 |
Set up
285 |
Here’s how to set up:
286 |
287 | (Optional, if you have a Github account already or are willing to create one). Fork this repository (top right).
288 | Open RStudio. In the top right menu “project menu”, click new project.
289 | In the dialog box that appears, click “Version Control”. Copy-paste the URL from your repository (it will be https://github.com/rubenarslan/repro_web_stack
except with your username, if you forked it). Create the project (you can pick a different name if you’d like).
290 | In RStudio packrat should start installing packages, if not, consider running
291 | packrat:: restore () # this should run by default if you open the project in an up-to-date RStudio version
292 | packrat:: disable () # because packrat is a bit immature, it's probably easier to only turn it on at the end, when you archive your project. It may make sense to put up with the immaturities if you're working on a lot of projects in parallel.
293 | Now try whether you can generate the website by clicking “Knit” in the file 1_wrangle_data.Rmd
, then try the other files, then modify them to suit your project.
294 |
295 |
296 |
297 |
Configuration
298 |
Here’s a few files you might want to edit:
299 |
300 | .zenodo.json
this file contains the metadata that will be used to describe your releases on Zenodo. Add the project name and the authors in this file.
301 | _site.yml
here you can set up a few global settings for how your site should look like. More information .
302 | 0_helpers.R
- here I load a few packages that I tend to always use. I think it makes sense to load a basic set of packages in this helper file and include it everywhere. Load order matters hugely in R (especially when you use dplyr, which has lots of name conflicts with other packages) and it can simplify things for you, when you know the load order. I’ve also set a few defaults here that make sense to me.
303 | The name of the .Rproj
file to something descriptive of your project (and correspondingly, the name on Github).
304 |
305 |
306 |
307 |
Releasing to Zenodo
308 |
To release to Zenodo via the API, your repository needs to be public. Then, go to Zenodo , connect your Github account, flip the switch next to the project name and make a release on Github. It will automatically be uploaded to Zenodo and you will get a DOI, like this .
309 |
If you don’t want your R-code to be public, but only the HTML files, you can either: zip the contents of the “docs” folder and upload that to Zenodo by hand or you can make a separate, public repository for your HTML files and check this out in your “docs” folder.
310 |
311 |
312 |
Notes
313 |
314 |
Accessing the generated site on Github pages.
315 |
After a bit of trial and error with my students, I think the best option for beginners to release the website you generated, is to serve it from the “docs” folder in your repository. You will have to go to your repository settings on Github and pick “docs” as the Github Pages option.
316 |
317 |
318 |
319 |
IyMgUmVwcm9kdWNpYmxlIHdlYiBzdGFjawoKVGhpcyBpcyBhIHN0YWNrIG9mIHRvb2xzIHRoYXQgaGF2ZSBzZXJ2ZWQgbWUgd2VsbCB0byBnZW5lcmF0ZSByZXByb2R1Y2libGUgd2Vic2l0ZXMuClNvbWUgZGVmYXVsdHMgd2VyZSBzZXQgdG8gbWFrZSB0aGluZ3MgbW9yZSBzZWFtbGVzcyBhbmQgSSBhZGRlZCBzb21lIGZpbGVzIHRvIHNob3cgaXQgd29ya3MuIFRoaXMgaXMgYSBmYWlybHkgb3BpbmlvbmF0ZWQgYXBwcm9hY2ggYW5kIHlvdXIgbWlsZWFnZSBtYXkgdmFyeS4KClRoZSB3ZWJzaXRlIGdlbmVyYXRlZCBmcm9tIHRoZXNlIHNjcmlwdHMgY2FuIGJlIHZpZXdlZCBhdDogIApodHRwczovL3J1YmVuYXJzbGFuLmdpdGh1Yi5pby9yZXByb193ZWJfc3RhY2sKCiMjIFJlcXVpcmVtZW50cyB0byBnZXQgc3RhcnRlZAoKLSBbUlN0dWRpb10oaHR0cHM6Ly93d3cucnN0dWRpby5jb20vcHJvZHVjdHMvcnN0dWRpby9kb3dubG9hZC8pIDEuKgotIFtSXShodHRwczovL2NyYW4ucnN0dWRpby5jb20vKSAzLioKLSBbR2l0XShodHRwczovL2dpdC1zY20uY29tL2Jvb2svZW4vdjIvR2V0dGluZy1TdGFydGVkLUluc3RhbGxpbmctR2l0KSAoc2hvdWxkIGFscmVhZHkgYmUgaW5zdGFsbGVkIG9uIE1hYyBPUyBNYXZlcmlja3MgYW5kIGFib3ZlKQoKIyMgU2V0IHVwCkhlcmUncyBob3cgdG8gc2V0IHVwOgoKMS4gKE9wdGlvbmFsLCBpZiB5b3UgaGF2ZSBhIEdpdGh1YiBhY2NvdW50IGFscmVhZHkgb3IgYXJlIHdpbGxpbmcgdG8gY3JlYXRlIG9uZSkuIEZvcmsgdGhpcyByZXBvc2l0b3J5ICh0b3AgcmlnaHQpLgoKMi4gT3BlbiBSU3R1ZGlvLiBJbiB0aGUgdG9wIHJpZ2h0IG1lbnUgInByb2plY3QgbWVudSIsIGNsaWNrIG5ldyBwcm9qZWN0LgoKMy4gSW4gdGhlIGRpYWxvZyBib3ggdGhhdCBhcHBlYXJzLCBjbGljayAiVmVyc2lvbiBDb250cm9sIi4gQ29weS1wYXN0ZSB0aGUgVVJMIGZyb20geW91ciByZXBvc2l0b3J5IChpdCB3aWxsIGJlIGBodHRwczovL2dpdGh1Yi5jb20vcnViZW5hcnNsYW4vcmVwcm9fd2ViX3N0YWNrYCBleGNlcHQgd2l0aCB5b3VyIHVzZXJuYW1lLCBpZiB5b3UgZm9ya2VkIGl0KS4gQ3JlYXRlIHRoZSBwcm9qZWN0ICh5b3UgY2FuIHBpY2sgYSBkaWZmZXJlbnQgbmFtZSBpZiB5b3UnZCBsaWtlKS4KCjMuIEluIFJTdHVkaW8gcGFja3JhdCBzaG91bGQgc3RhcnQgaW5zdGFsbGluZyBwYWNrYWdlcywgaWYgbm90LCBjb25zaWRlciBydW5uaW5nCgoJYGBgcgoJcGFja3JhdDo6cmVzdG9yZSgpICMgdGhpcyBzaG91bGQgcnVuIGJ5IGRlZmF1bHQgaWYgeW91IG9wZW4gdGhlIHByb2plY3QgaW4gYW4gdXAtdG8tZGF0ZSBSU3R1ZGlvIHZlcnNpb24KCXBhY2tyYXQ6OmRpc2FibGUoKSAjIGJlY2F1c2UgcGFja3JhdCBpcyBhIGJpdCBpbW1hdHVyZSwgaXQncyBwcm9iYWJseSBlYXNpZXIgdG8gb25seSB0dXJuIGl0IG9uIGF0IHRoZSBlbmQsIHdoZW4geW91IGFyY2hpdmUgeW91ciBwcm9qZWN0LiBJdCBtYXkgbWFrZSBzZW5zZSB0byBwdXQgdXAgd2l0aCB0aGUgaW1tYXR1cml0aWVzIGlmIHlvdSdyZSB3b3JraW5nIG9uIGEgbG90IG9mIHByb2plY3RzIGluIHBhcmFsbGVsLgoJYGBgCgo1LiBOb3cgdHJ5IHdoZXRoZXIgeW91IGNhbiBnZW5lcmF0ZSB0aGUgd2Vic2l0ZSBieSBjbGlja2luZyAiS25pdCIgaW4gdGhlIGZpbGUgYDFfd3JhbmdsZV9kYXRhLlJtZGAsIHRoZW4gdHJ5IHRoZSBvdGhlciBmaWxlcywgdGhlbiBtb2RpZnkgdGhlbSB0byBzdWl0IHlvdXIgcHJvamVjdC4KCiMjIENvbmZpZ3VyYXRpb24KCkhlcmUncyBhIGZldyBmaWxlcyB5b3UgbWlnaHQgd2FudCB0byBlZGl0OgoKMS4gYC56ZW5vZG8uanNvbmAgdGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBtZXRhZGF0YSB0aGF0IHdpbGwgYmUgdXNlZCB0byBkZXNjcmliZSB5b3VyIHJlbGVhc2VzIG9uIFplbm9kby4gQWRkIHRoZSBwcm9qZWN0IG5hbWUgYW5kIHRoZSBhdXRob3JzIGluIHRoaXMgZmlsZS4KCjIuIGBfc2l0ZS55bWxgIGhlcmUgeW91IGNhbiBzZXQgdXAgYSBmZXcgZ2xvYmFsIHNldHRpbmdzIGZvciBob3cgeW91ciBzaXRlIHNob3VsZCBsb29rIGxpa2UuIFtNb3JlIGluZm9ybWF0aW9uXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tL3JtYXJrZG93bl93ZWJzaXRlcy5odG1sKS4KCjMuIGAwX2hlbHBlcnMuUmAgLSBoZXJlIEkgbG9hZCBhIGZldyBwYWNrYWdlcyB0aGF0IEkgdGVuZCB0byBhbHdheXMgdXNlLiBJIHRoaW5rIGl0IG1ha2VzIHNlbnNlIHRvIGxvYWQgYSBiYXNpYyBzZXQgb2YgcGFja2FnZXMgaW4gdGhpcyBoZWxwZXIgZmlsZSBhbmQgaW5jbHVkZSBpdCBldmVyeXdoZXJlLiBMb2FkIG9yZGVyIG1hdHRlcnMgaHVnZWx5IGluIFIgKGVzcGVjaWFsbHkgd2hlbiB5b3UgdXNlIGRwbHlyLCB3aGljaCBoYXMgbG90cyBvZiBuYW1lIGNvbmZsaWN0cyB3aXRoIG90aGVyIHBhY2thZ2VzKSBhbmQgaXQgY2FuIHNpbXBsaWZ5IHRoaW5ncyBmb3IgeW91LCB3aGVuIHlvdSBrbm93IHRoZSBsb2FkIG9yZGVyLiBJJ3ZlIGFsc28gc2V0IGEgZmV3IGRlZmF1bHRzIGhlcmUgdGhhdCBtYWtlIHNlbnNlIHRvIG1lLgoKNC4gVGhlIG5hbWUgb2YgdGhlIGAuUnByb2pgIGZpbGUgdG8gc29tZXRoaW5nIGRlc2NyaXB0aXZlIG9mIHlvdXIgcHJvamVjdCAoYW5kIGNvcnJlc3BvbmRpbmdseSwgdGhlIG5hbWUgb24gR2l0aHViKS4KCiMjIFJlbGVhc2luZyB0byBaZW5vZG8KClRvIHJlbGVhc2UgdG8gWmVub2RvIHZpYSB0aGUgQVBJLCB5b3VyIHJlcG9zaXRvcnkgbmVlZHMgdG8gYmUgcHVibGljLiBUaGVuLCBnbyB0byBbWmVub2RvXShodHRwczovL3plbm9kby5vcmcvKSwgY29ubmVjdCB5b3VyIEdpdGh1YiBhY2NvdW50LCBmbGlwIHRoZSBzd2l0Y2ggbmV4dCB0byB0aGUgcHJvamVjdCBuYW1lIGFuZCBtYWtlIGEgcmVsZWFzZSBvbiBHaXRodWIuIEl0IHdpbGwgYXV0b21hdGljYWxseSBiZSB1cGxvYWRlZCB0byBaZW5vZG8gYW5kIHlvdSB3aWxsIGdldCBhIERPSSwgbGlrZSB0aGlzIFshW0RPSV0oaHR0cHM6Ly96ZW5vZG8ub3JnL2JhZGdlL0RPSS8xMC41MjgxL3plbm9kby4yNjg4ODguc3ZnKV0oaHR0cHM6Ly9kb2kub3JnLzEwLjUyODEvemVub2RvLjI2ODg4OCkuCgpJZiB5b3UgZG9uJ3Qgd2FudCB5b3VyIFItY29kZSB0byBiZSBwdWJsaWMsIGJ1dCBvbmx5IHRoZSBIVE1MIGZpbGVzLCB5b3UgY2FuIGVpdGhlcjogemlwIHRoZSBjb250ZW50cyBvZiB0aGUgImRvY3MiIGZvbGRlciBhbmQgdXBsb2FkIHRoYXQgdG8gWmVub2RvIGJ5IGhhbmQgb3IgeW91IGNhbiBtYWtlIGEgc2VwYXJhdGUsIHB1YmxpYyByZXBvc2l0b3J5IGZvciB5b3VyIEhUTUwgZmlsZXMgYW5kIGNoZWNrIHRoaXMgb3V0IGluIHlvdXIgImRvY3MiIGZvbGRlci4KCiMjIE5vdGVzCgojIyMgQWNjZXNzaW5nIHRoZSBnZW5lcmF0ZWQgc2l0ZSBvbiBHaXRodWIgcGFnZXMuCgpBZnRlciBhIGJpdCBvZiB0cmlhbCBhbmQgZXJyb3Igd2l0aCBteSBzdHVkZW50cywgSSB0aGluayB0aGUgYmVzdCBvcHRpb24gZm9yIGJlZ2lubmVycyB0byByZWxlYXNlIHRoZSB3ZWJzaXRlIHlvdSBnZW5lcmF0ZWQsIGlzIHRvIHNlcnZlIGl0IGZyb20gdGhlICJkb2NzIiBmb2xkZXIgaW4geW91ciByZXBvc2l0b3J5LiBZb3Ugd2lsbCBoYXZlIHRvIGdvIHRvIHlvdXIgcmVwb3NpdG9yeSBzZXR0aW5ncyBvbiBHaXRodWIgYW5kIHBpY2sgImRvY3MiIGFzIHRoZSBHaXRodWIgUGFnZXMgb3B0aW9uLgo=
320 |
321 |
322 |
323 |
324 |
325 |
337 |
338 |
339 |
347 |
348 |
349 |
350 |
--------------------------------------------------------------------------------
/docs/_regression_summary.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
70 |
75 |
76 |
77 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
134 |
135 |
136 |
169 |
170 |
187 |
188 |
189 |
190 |
191 |
192 |
197 |
198 |
199 |
202 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
251 |
252 |
268 |
269 |
270 |
if (! exists ("indent" )) {
271 | indent = '##' # ugly hack so _regression_summary can be "spun" (variables included via `r ` have to be available)
272 | }
273 |
274 |
Summary
275 |
276 |
277 |
278 |
Diagnostics
279 |
280 |
281 |
282 |
YGBge3Igc2V0dXAsZXZhbD1UUlVFfQppZiAoIWV4aXN0cygiaW5kZW50IikpIHsKCWluZGVudCA9ICcjIycgIyB1Z2x5IGhhY2sgc28gX3JlZ3Jlc3Npb25fc3VtbWFyeSBjYW4gYmUgInNwdW4iICh2YXJpYWJsZXMgaW5jbHVkZWQgdmlhIGByIGAgaGF2ZSB0byBiZSBhdmFpbGFibGUpCn0KYGBgCgpgciBpbmRlbnRgIyBTdW1tYXJ5CmBgYHtyIHN1bW1hcnl9CnN1bW1hcnkobW9kZWwpCmBgYAoKYHIgaW5kZW50YCMgRGlhZ25vc3RpY3MKYGBge3IgZGlhZ25vc3RpY3N9CnBsb3QobW9kZWwpCmBgYAo=
283 |
284 |
285 |
286 |
287 |
288 |
300 |
301 |
302 |
310 |
311 |
312 |
313 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Reproducible website stack
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
70 |
75 |
76 |
77 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
134 |
135 |
136 |
169 |
170 |
187 |
188 |
189 |
190 |
191 |
192 |
197 |
198 |
199 |
202 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
251 |
252 |
268 |
269 |
270 |
271 |
Reproducible website stack
272 |
273 |
We did this cool project.
274 |
We used these helper functions and this knitr component . These are the .Rprofile settings
275 |
276 | First we wrangled the data .
277 | Then we looked at some descriptives .
278 | Then we analysed it.
279 |
280 |
281 |
Authors & Acknowledgements
282 |
283 |
Authors
284 |
You!
285 |
This supplementary website has been archived on Zenodo.org .
286 |
287 |
288 |
Acknowledgements
289 |
290 |
Package bibliography
291 |
292 |
Session info
293 |
# Make packrat bibliography
294 | packrat_bibliography (overwrite_bib = TRUE , silent = TRUE )
295 |
## Warning in utils::citation(pkg_name): no date field in DESCRIPTION file of package 'pillar'
296 |
## Warning in utils::citation(pkg_name): could not determine year for 'pillar' from package DESCRIPTION file
297 |
# Turn the .R files into .Rmd files, turn those into .html, remove the .Rmd files
298 | spin_R_files_to_site_html ()
299 | sessionInfo ()
300 |
R version 3.4.3 (2017-11-30)
301 |
**Platform:** x86_64-apple-darwin15.6.0 (64-bit)
302 |
locale: en_US.UTF-8||en_US.UTF-8||en_US.UTF-8||C||en_US.UTF-8||en_US.UTF-8
303 |
attached base packages: stats , graphics , grDevices , utils , datasets , methods and base
304 |
other attached packages: DT(v.0.2) , bindrcpp(v.0.2) , dplyr(v.0.7.4) , tidyr(v.0.7.2) , ggplot2(v.2.2.1) , broom(v.0.4.3) , stringr(v.1.2.0) , lubridate(v.1.7.1) , pander(v.0.6.1) , formr(v.0.7.1) , knitr(v.1.18) and rmarkdown(v.1.8)
305 |
loaded via a namespace (and not attached): Rcpp(v.0.12.14) , pillar(v.1.0.99.9000) , compiler(v.3.4.3) , plyr(v.1.8.4) , bindr(v.0.1) , base64enc(v.0.1-3) , tools(v.3.4.3) , digest(v.0.6.13) , packrat(v.0.4.8-1) , jsonlite(v.1.5) , evaluate(v.0.10.1) , tibble(v.1.4.1) , gtable(v.0.2.0) , nlme(v.3.1-131) , lattice(v.0.20-35) , pkgconfig(v.2.0.1) , rlang(v.0.1.6) , psych(v.1.7.3.21) , parallel(v.3.4.3) , yaml(v.2.1.16) , htmlwidgets(v.0.9) , tidyselect(v.0.2.3) , rprojroot(v.1.2) , grid(v.3.4.3) , glue(v.1.2.0) , R6(v.2.2.2) , foreign(v.0.8-69) , reshape2(v.1.4.3) , purrr(v.0.2.4) , magrittr(v.1.5) , backports(v.1.1.2) , scales(v.0.5.0) , htmltools(v.0.3.6) , assertthat(v.0.2.0) , mnormt(v.1.5-5) , colorspace(v.1.3-2) , labeling(v.0.3) , stringi(v.1.1.6) , lazyeval(v.0.2.1) and munsell(v.0.4.3)
306 |
307 |
308 |
References
309 |
310 |
311 |
Allaire, J., Xie, Y., McPherson, J., Luraschi, J., Ushey, K., Atkins, A., … Chang, W. (2017). rmarkdown: Dynamic documents for R (R package version 1.8 ). Retrieved from https://CRAN.R-project.org/package=rmarkdown
312 |
313 |
316 |
319 |
320 |
Grolemund, G., & Wickham, H. (2011). Dates and times made easy with lubridate (version 1.7.1 ). Journal of Statistical Software , 40 , 1–25. Retrieved from http://www.jstatsoft.org/v40/i03/
321 |
322 |
323 |
R Core Team. (2017). R: A language and environment for statistical computing (version 3.4.3 ). Vienna, Austria: R Foundation for Statistical Computing. Retrieved from https://www.R-project.org/
324 |
325 |
328 |
329 |
Ushey, K., McPherson, J., Cheng, J., Atkins, A., & Allaire, J. (2016). packrat: A dependency management system for projects and their R package dependencies (R package version 0.4.8-1 ). Retrieved from https://CRAN.R-project.org/package=packrat
330 |
331 |
332 |
Wickham, H. (2009). ggplot2: Elegant graphics for data analysis (version 2.2.1 ). Springer-Verlag New York. Retrieved from http://ggplot2.org
333 |
334 |
337 |
340 |
343 |
346 |
347 |
Xie, Y. (2017a). knitr: A general-purpose package for dynamic report generation in R (R package version 1.18 ). Retrieved from https://yihui.name/knitr/
348 |
349 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
LS0tCnBhZ2V0aXRsZTogIlJlcHJvZHVjaWJsZSB3ZWJzaXRlIHN0YWNrIgpiaWJsaW9ncmFwaHk6IHBhY2tyYXRfYmlibGlvZ3JhcGh5LmJpYnRleApjc2w6IGFwYS1jdXN0b20tbm8taXNzdWUuY3NsCm5vY2l0ZTogfAogICAgQFIgQHBhY2tyYXQgQHJtYXJrZG93biBAa25pdHIgQGZvcm1yIEBwYW5kZXIgQGx1YnJpZGF0ZSBAc3RyaW5nciBAYnJvb20gQGdncGxvdDIgQHRpZHlyIEBkcGx5ciBAZGV2dG9vbHMgQGZvcm1hdFIKLS0tCgojIFJlcHJvZHVjaWJsZSB3ZWJzaXRlIHN0YWNrIHsudGFic2V0IC50YWJzZXQtc3RpY2t5fQoKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0Kc291cmNlKCIwX2hlbHBlcnMuUiIpCmBgYAoKV2UgZGlkIHRoaXMgY29vbCBwcm9qZWN0LgoKV2UgdXNlZCB0aGVzZSBbaGVscGVyIGZ1bmN0aW9uc10oMF9oZWxwZXJzLmh0bWwpIGFuZCAKdGhpcyBba25pdHIgY29tcG9uZW50XShfcmVncmVzc2lvbl9zdW1tYXJ5Lmh0bWwpLiBUaGVzZSBhcmUgdGhlIFsuUnByb2ZpbGUgc2V0dGluZ3NdKC5ScHJvZmlsZS5odG1sKQoKMS4gRmlyc3Qgd2UgW3dyYW5nbGVkIHRoZSBkYXRhXSgxX3dyYW5nbGVfZGF0YS5odG1sKS4KMi4gVGhlbiB3ZSBsb29rZWQgYXQgc29tZSBbZGVzY3JpcHRpdmVzXSgyX2Rlc2NyaXB0aXZlcy5odG1sKS4KMy4gVGhlbiB3ZSBbYW5hbHlzZWRdKDNfYW5hbHlzZXMuaHRtbCkgaXQuCgojIyBBdXRob3JzICYgQWNrbm93bGVkZ2VtZW50cyB7LnRhYnNldCAudGFic2V0LXN0aWNreX0KCiMjIyBBdXRob3JzCllvdSEKClRoaXMgc3VwcGxlbWVudGFyeSB3ZWJzaXRlIGhhcyBiZWVuIGFyY2hpdmVkIG9uIFplbm9kby5vcmcgWyFbRE9JXShodHRwczovL3plbm9kby5vcmcvYmFkZ2UvRE9JLzEwLjUyODEvemVub2RvLjI2ODg4OC5zdmcpXShodHRwczovL2RvaS5vcmcvMTAuNTI4MS96ZW5vZG8uMjY4ODg4KS4KCiMjIyBBY2tub3dsZWRnZW1lbnRzIHsuYWN0aXZlfQoKCiMjIyMgUGFja2FnZSBiaWJsaW9ncmFwaHkgey50YWJzZXQgLnRhYnNldC1zdGlja3l9CgojIyMjIyBTZXNzaW9uIGluZm8KYGBge3J9CiMgTWFrZSBwYWNrcmF0IGJpYmxpb2dyYXBoeQpwYWNrcmF0X2JpYmxpb2dyYXBoeShvdmVyd3JpdGVfYmliID0gVFJVRSwgc2lsZW50ID0gVFJVRSkKIyBUdXJuIHRoZSAuUiBmaWxlcyBpbnRvIC5SbWQgZmlsZXMsIHR1cm4gdGhvc2UgaW50byAuaHRtbCwgcmVtb3ZlIHRoZSAuUm1kIGZpbGVzCnNwaW5fUl9maWxlc190b19zaXRlX2h0bWwoKQpzZXNzaW9uSW5mbygpCmBgYAoKIyMjIyMgUmVmZXJlbmNlcyB7LmFjdGl2ZX0K
360 |
361 |
362 |
363 |
364 |
365 |
377 |
378 |
379 |
387 |
388 |
389 |
390 |
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/bootstrap-theme.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.5 (http://getbootstrap.com)
3 | * Copyright 2011-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/Lato.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/Lato.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/LatoBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/LatoBold.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/LatoItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/LatoItalic.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/NewsCycle.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/NewsCycle.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/NewsCycleBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/NewsCycleBold.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSans.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansBold.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansBoldItalic.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansItalic.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansLight.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansLightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/OpenSansLightItalic.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/Raleway.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/Raleway.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/RalewayBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/RalewayBold.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/Roboto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/Roboto.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/RobotoBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/RobotoBold.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/RobotoLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/RobotoLight.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/RobotoMedium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/RobotoMedium.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansPro.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansPro.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansProBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansProBold.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansProItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansProItalic.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansProLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/SourceSansProLight.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/css/fonts/Ubuntu.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/css/fonts/Ubuntu.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubenarslan/repro_web_stack/f2773cf035779df7a559d658b68ae2d0c07a8ba9/docs/site_libs/bootstrap-3.3.5/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/shim/html5shiv.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3 | */
4 | // Only run this code in IE 8
5 | if (!!window.navigator.userAgent.match("MSIE 8")) {
6 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML=" ",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document);
7 | };
8 |
--------------------------------------------------------------------------------
/docs/site_libs/bootstrap-3.3.5/shim/respond.min.js:
--------------------------------------------------------------------------------
1 | /*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
2 | * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
3 | * */
4 |
5 | // Only run this code in IE 8
6 | if (!!window.navigator.userAgent.match("MSIE 8")) {
7 | !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b');
25 | if (show)
26 | div.addClass('in');
27 | var id = 'rcode-643E0F36' + currentIndex++;
28 | div.attr('id', id);
29 | $(this).before(div);
30 | $(this).detach().appendTo(div);
31 |
32 | // add a show code button right above
33 | var showCodeText = $('' + (show ? 'Hide' : 'Code') + ' ');
34 | var showCodeButton = $(' ');
35 | showCodeButton.append(showCodeText);
36 | showCodeButton
37 | .attr('data-toggle', 'collapse')
38 | .attr('data-target', '#' + id)
39 | .attr('aria-expanded', show)
40 | .attr('aria-controls', id);
41 |
42 | var buttonRow = $('
');
43 | var buttonCol = $('
');
44 |
45 | buttonCol.append(showCodeButton);
46 | buttonRow.append(buttonCol);
47 |
48 | div.before(buttonRow);
49 |
50 | // update state of button on show/hide
51 | div.on('hidden.bs.collapse', function () {
52 | showCodeText.text('Code');
53 | });
54 | div.on('show.bs.collapse', function () {
55 | showCodeText.text('Hide');
56 | });
57 | });
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/docs/site_libs/navigation-1.1/sourceembed.js:
--------------------------------------------------------------------------------
1 |
2 | window.initializeSourceEmbed = function(filename) {
3 | $("#rmd-download-source").click(function() {
4 | var src = $("#rmd-source-code").html();
5 | var a = document.createElement('a');
6 | a.href = "data:text/x-r-markdown;base64," + src;
7 | a.download = filename;
8 | document.body.appendChild(a);
9 | a.click();
10 | document.body.removeChild(a);
11 | });
12 | };
13 |
--------------------------------------------------------------------------------
/docs/site_libs/navigation-1.1/tabsets.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | /**
4 | * jQuery Plugin: Sticky Tabs
5 | *
6 | * @author Aidan Lister
7 | * adapted by Ruben Arslan to activate parent tabs too
8 | * http://www.aidanlister.com/2014/03/persisting-the-tab-state-in-bootstrap/
9 | */
10 | (function($) {
11 | "use strict";
12 | $.fn.rmarkdownStickyTabs = function() {
13 | var context = this;
14 | // Show the tab corresponding with the hash in the URL, or the first tab
15 | var showStuffFromHash = function() {
16 | var hash = window.location.hash;
17 | var selector = hash ? 'a[href="' + hash + '"]' : 'li.active > a';
18 | var $selector = $(selector, context);
19 | if($selector.data('toggle') === "tab") {
20 | $selector.tab('show');
21 | // walk up the ancestors of this element, show any hidden tabs
22 | $selector.parents('.section.tabset').each(function(i, elm) {
23 | var link = $('a[href="#' + $(elm).attr('id') + '"]');
24 | if(link.data('toggle') === "tab") {
25 | link.tab("show");
26 | }
27 | });
28 | }
29 | };
30 |
31 |
32 | // Set the correct tab when the page loads
33 | showStuffFromHash(context);
34 |
35 | // Set the correct tab when a user uses their back/forward button
36 | $(window).on('hashchange', function() {
37 | showStuffFromHash(context);
38 | });
39 |
40 | // Change the URL when tabs are clicked
41 | $('a', context).on('click', function(e) {
42 | history.pushState(null, null, this.href);
43 | showStuffFromHash(context);
44 | });
45 |
46 | return this;
47 | };
48 | }(jQuery));
49 |
50 | window.buildTabsets = function(tocID) {
51 |
52 | // build a tabset from a section div with the .tabset class
53 | function buildTabset(tabset) {
54 |
55 | // check for fade and pills options
56 | var fade = tabset.hasClass("tabset-fade");
57 | var pills = tabset.hasClass("tabset-pills");
58 | var navClass = pills ? "nav-pills" : "nav-tabs";
59 |
60 | // determine the heading level of the tabset and tabs
61 | var match = tabset.attr('class').match(/level(\d) /);
62 | if (match === null)
63 | return;
64 | var tabsetLevel = Number(match[1]);
65 | var tabLevel = tabsetLevel + 1;
66 |
67 | // find all subheadings immediately below
68 | var tabs = tabset.find("div.section.level" + tabLevel);
69 | if (!tabs.length)
70 | return;
71 |
72 | // create tablist and tab-content elements
73 | var tabList = $('');
74 | $(tabs[0]).before(tabList);
75 | var tabContent = $('
');
76 | $(tabs[0]).before(tabContent);
77 |
78 | // build the tabset
79 | var activeTab = 0;
80 | tabs.each(function(i) {
81 |
82 | // get the tab div
83 | var tab = $(tabs[i]);
84 |
85 | // get the id then sanitize it for use with bootstrap tabs
86 | var id = tab.attr('id');
87 |
88 | // see if this is marked as the active tab
89 | if (tab.hasClass('active'))
90 | activeTab = i;
91 |
92 | // remove any table of contents entries associated with
93 | // this ID (since we'll be removing the heading element)
94 | $("div#" + tocID + " li a[href='#" + id + "']").parent().remove();
95 |
96 | // sanitize the id for use with bootstrap tabs
97 | id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_');
98 | tab.attr('id', id);
99 |
100 | // get the heading element within it, grab it's text, then remove it
101 | var heading = tab.find('h' + tabLevel + ':first');
102 | var headingText = heading.html();
103 | heading.remove();
104 |
105 | // build and append the tab list item
106 | var a = $('' + headingText + ' ');
107 | a.attr('href', '#' + id);
108 | a.attr('aria-controls', id);
109 | var li = $(' ');
110 | li.append(a);
111 | tabList.append(li);
112 |
113 | // set it's attributes
114 | tab.attr('role', 'tabpanel');
115 | tab.addClass('tab-pane');
116 | tab.addClass('tabbed-pane');
117 | if (fade)
118 | tab.addClass('fade');
119 |
120 | // move it into the tab content div
121 | tab.detach().appendTo(tabContent);
122 | });
123 |
124 | // set active tab
125 | $(tabList.children('li')[activeTab]).addClass('active');
126 | var active = $(tabContent.children('div.section')[activeTab]);
127 | active.addClass('active');
128 | if (fade)
129 | active.addClass('in');
130 |
131 | if (tabset.hasClass("tabset-sticky"))
132 | tabset.rmarkdownStickyTabs();
133 | }
134 |
135 | // convert section divs with the .tabset class to tabsets
136 | var tabsets = $("div.section.tabset");
137 | tabsets.each(function(i) {
138 | buildTabset($(tabsets[i]));
139 | });
140 | };
141 |
142 |
--------------------------------------------------------------------------------
/docs/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 84px !important;
3 | }
4 |
--------------------------------------------------------------------------------
/index.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | pagetitle: "Reproducible website stack"
3 | bibliography: packrat_bibliography.bibtex
4 | csl: apa-custom-no-issue.csl
5 | nocite: |
6 | @R @packrat @rmarkdown @knitr @formr @pander @lubridate @stringr @broom @ggplot2 @tidyr @dplyr @devtools @formatR
7 | ---
8 |
9 | # Reproducible website stack {.tabset .tabset-sticky}
10 |
11 | ```{r message=FALSE, warning=FALSE}
12 | source("0_helpers.R")
13 | ```
14 |
15 | We did this cool project.
16 |
17 | We used these [helper functions](0_helpers.html) and
18 | this [knitr component](_regression_summary.html). These are the [.Rprofile settings](.Rprofile.html)
19 |
20 | 1. First we [wrangled the data](1_wrangle_data.html).
21 | 2. Then we looked at some [descriptives](2_descriptives.html).
22 | 3. Then we [analysed](3_analyses.html) it.
23 |
24 | ## Authors & Acknowledgements {.tabset .tabset-sticky}
25 |
26 | ### Authors
27 | You!
28 |
29 | This supplementary website has been archived on Zenodo.org [](https://doi.org/10.5281/zenodo.268888).
30 |
31 | ### Acknowledgements {.active}
32 |
33 |
34 | #### Package bibliography {.tabset .tabset-sticky}
35 |
36 | ##### Session info
37 | ```{r}
38 | # Make packrat bibliography
39 | packrat_bibliography(overwrite_bib = TRUE, silent = TRUE)
40 | # Turn the .R files into .Rmd files, turn those into .html, remove the .Rmd files
41 | spin_R_files_to_site_html()
42 | sessionInfo()
43 | ```
44 |
45 | ##### References {.active}
46 |
--------------------------------------------------------------------------------
/packrat_bibliography.bibtex:
--------------------------------------------------------------------------------
1 | @Manual{R,
2 | title = {{R}: A Language and Environment for Statistical Computing},
3 | author = {{R Core Team}},
4 | organization = {R Foundation for Statistical Computing},
5 | address = {Vienna, Austria},
6 | year = {2017},
7 | url = {https://www.R-project.org/},
8 | note = {version 3.4.3},
9 | }
10 |
11 | @Manual{BH,
12 | title = {{BH}: Boost C++ Header Files},
13 | author = {Dirk Eddelbuettel and John W. Emerson and Michael J. Kane},
14 | year = {2017},
15 | note = {R package version 1.65.0-1},
16 | url = {https://CRAN.R-project.org/package=BH},
17 | }
18 |
19 | @Manual{DT,
20 | title = {{DT}: A Wrapper of the JavaScript Library 'DataTables'},
21 | author = {Yihui Xie},
22 | year = {2016},
23 | note = {R package version 0.2},
24 | url = {https://CRAN.R-project.org/package=DT},
25 | }
26 |
27 | @Book{MASS,
28 | title = {Modern Applied Statistics with S},
29 | author = {W. N. Venables and B. D. Ripley},
30 | publisher = {Springer},
31 | edition = {Fourth},
32 | address = {New York},
33 | year = {2002},
34 | note = {ISBN 0-387-95457-0},
35 | url = {http://www.stats.ox.ac.uk/pub/MASS4},
36 | }
37 |
38 | @Manual{R6,
39 | title = {{R6}: Classes with Reference Semantics},
40 | author = {Winston Chang},
41 | year = {2017},
42 | note = {R package version 2.2.2},
43 | url = {https://CRAN.R-project.org/package=R6},
44 | }
45 |
46 | @Manual{RColorBrewer,
47 | title = {{RColorBrewer}: ColorBrewer Palettes},
48 | author = {Erich Neuwirth},
49 | year = {2014},
50 | note = {R package version 1.1-2},
51 | url = {https://CRAN.R-project.org/package=RColorBrewer},
52 | }
53 |
54 | @Article{Rcpp,
55 | title = {{Rcpp}: Seamless {{R}} and {C++} Integration},
56 | author = {Dirk Eddelbuettel and Romain Fran\c{c}ois},
57 | journal = {Journal of Statistical Software},
58 | year = {2011},
59 | volume = {40},
60 | number = {8},
61 | pages = {1--18},
62 | url = {http://www.jstatsoft.org/v40/i08/},
63 | doi = {10.18637/jss.v040.i08},
64 | }
65 |
66 | @Book{Rcpp,
67 | title = {Seamless {R} and {C++} Integration with {Rcpp}},
68 | author = {Dirk Eddelbuettel},
69 | publisher = {Springer},
70 | address = {New York},
71 | year = {2013},
72 | note = {ISBN 978-1-4614-6867-7},
73 | doi = {10.1007/978-1-4614-6868-4},
74 | }
75 |
76 | @Article{Rcpp,
77 | title = {{Extending extit{R} with extit{C++}: A Brief Introduction to extit{Rcpp}}},
78 | author = {Dirk Eddelbuettel and James Joseph Balamuta},
79 | journal = {PeerJ Preprints},
80 | year = {2017},
81 | month = {aug},
82 | volume = {5},
83 | pages = {e3188v1},
84 | issn = {2167-9843},
85 | url = {https://doi.org/10.7287/peerj.preprints.3188v1},
86 | doi = {10.7287/peerj.preprints.3188v1},
87 | }
88 |
89 | @Manual{assertthat,
90 | title = {{assertthat}: Easy Pre and Post Assertions},
91 | author = {Hadley Wickham},
92 | year = {2017},
93 | note = {R package version 0.2.0},
94 | url = {https://CRAN.R-project.org/package=assertthat},
95 | }
96 |
97 | @Manual{backports,
98 | title = {{backports}: Reimplementations of Functions Introduced Since {R}-3.0.0},
99 | author = {Michel Lang},
100 | year = {2017},
101 | note = {R package version 1.1.2},
102 | url = {https://CRAN.R-project.org/package=backports},
103 | }
104 |
105 | @Manual{base64enc,
106 | title = {{base64enc}: Tools for base64 encoding},
107 | author = {Simon Urbanek},
108 | year = {2015},
109 | note = {R package version 0.1-3},
110 | url = {https://CRAN.R-project.org/package=base64enc},
111 | }
112 |
113 | @Manual{bindr,
114 | title = {{bindr}: Parametrized Active Bindings},
115 | author = {Kirill Müller},
116 | year = {2016},
117 | note = {R package version 0.1},
118 | url = {https://CRAN.R-project.org/package=bindr},
119 | }
120 |
121 | @Manual{bindrcpp,
122 | title = {{bindrcpp}: An 'Rcpp' Interface to Active Bindings},
123 | author = {Kirill Müller},
124 | year = {2017},
125 | note = {R package version 0.2},
126 | url = {https://CRAN.R-project.org/package=bindrcpp},
127 | }
128 |
129 | @Manual{broom,
130 | title = {{broom}: Convert Statistical Analysis Objects into Tidy Data Frames},
131 | author = {David Robinson},
132 | year = {2017},
133 | note = {R package version 0.4.3},
134 | url = {https://CRAN.R-project.org/package=broom},
135 | }
136 |
137 | @Manual{cli,
138 | title = {{cli}: Helpers for Developing Command Line Interfaces},
139 | author = {Gábor Csárdi},
140 | year = {2017},
141 | note = {R package version 1.0.0},
142 | url = {https://CRAN.R-project.org/package=cli},
143 | }
144 |
145 | @Manual{codetools,
146 | title = {{codetools}: Code Analysis Tools for {R}},
147 | author = {Luke Tierney},
148 | year = {2016},
149 | note = {R package version 0.2-15},
150 | url = {https://CRAN.R-project.org/package=codetools},
151 | }
152 |
153 | @Manual{colorspace,
154 | title = {{colorspace}: Color Space Manipulation},
155 | author = {Ross Ihaka and Paul Murrell and Kurt Hornik and Jason C. Fisher and Achim Zeileis},
156 | year = {2016},
157 | note = {R package version 1.3-2},
158 | url = {https://CRAN.R-project.org/package=colorspace},
159 | }
160 |
161 | @Article{colorspace,
162 | title = {Escaping {RGB}land: Selecting Colors for Statistical Graphics},
163 | author = {Achim Zeileis and Kurt Hornik and Paul Murrell},
164 | journal = {Computational Statistics \& Data Analysis},
165 | year = {2009},
166 | volume = {53},
167 | number = {9},
168 | pages = {3259--3270},
169 | doi = {10.1016/j.csda.2008.11.033},
170 | }
171 |
172 | @Article{colorspace,
173 | title = {Somewhere over the Rainbow: How to Make Effective Use of Colors in Meteorological Visualizations},
174 | author = {Reto Stauffer and Georg J. Mayr and Markus Dabernig and Achim Zeileis},
175 | journal = {Bulletin of the American Meteorological Society},
176 | year = {2009},
177 | volume = {96},
178 | number = {2},
179 | pages = {203--216},
180 | doi = {10.1175/BAMS-D-13-00155.1},
181 | }
182 |
183 | @Manual{commonmark,
184 | title = {{commonmark}: High Performance CommonMark and Github Markdown Rendering in {R}},
185 | author = {Jeroen Ooms},
186 | year = {2017},
187 | note = {R package version 1.4},
188 | url = {https://CRAN.R-project.org/package=commonmark},
189 | }
190 |
191 | @Manual{crayon,
192 | title = {{crayon}: Colored Terminal Output},
193 | author = {Gábor Csárdi},
194 | year = {2017},
195 | note = {R package version 1.3.4},
196 | url = {https://CRAN.R-project.org/package=crayon},
197 | }
198 |
199 | @Manual{curl,
200 | title = {{curl}: A Modern and Flexible Web Client for {R}},
201 | author = {Jeroen Ooms},
202 | year = {2017},
203 | note = {R package version 3.1},
204 | url = {https://CRAN.R-project.org/package=curl},
205 | }
206 |
207 | @Manual{devtools,
208 | title = {{devtools}: Tools to Make Developing {R} Packages Easier},
209 | author = {Hadley Wickham and Winston Chang},
210 | year = {2017},
211 | note = {R package version 1.13.4},
212 | url = {https://CRAN.R-project.org/package=devtools},
213 | }
214 |
215 | @Manual{dichromat,
216 | title = {{dichromat}: Color Schemes for Dichromats},
217 | author = {Thomas Lumley},
218 | year = {2013},
219 | note = {R package version 2.0-0},
220 | url = {https://CRAN.R-project.org/package=dichromat},
221 | }
222 |
223 | @Manual{digest,
224 | title = {{digest}: Create Compact Hash Digests of {R} Objects},
225 | author = {Dirk Eddelbuettel with contributions by Antoine Lucas and Jarek Tuszynski and Henrik Bengtsson and Simon Urbanek and Mario Frasca and Bryan Lewis and Murray Stokely and Hannes Muehleisen and Duncan Murdoch and Jim Hester and Wush Wu and Qiang Kou and Thierry Onkelinx and Michel Lang and Viliam Simko.},
226 | year = {2017},
227 | note = {R package version 0.6.13},
228 | url = {https://CRAN.R-project.org/package=digest},
229 | }
230 |
231 | @Manual{dplyr,
232 | title = {{dplyr}: A Grammar of Data Manipulation},
233 | author = {Hadley Wickham and Romain Francois and Lionel Henry and Kirill Müller},
234 | year = {2017},
235 | note = {R package version 0.7.4},
236 | url = {https://CRAN.R-project.org/package=dplyr},
237 | }
238 |
239 | @Manual{evaluate,
240 | title = {{evaluate}: Parsing and Evaluation Tools that Provide More Details than the
241 | Default},
242 | author = {Hadley Wickham},
243 | year = {2017},
244 | note = {R package version 0.10.1},
245 | url = {https://CRAN.R-project.org/package=evaluate},
246 | }
247 |
248 | @Manual{forcats,
249 | title = {{forcats}: Tools for Working with Categorical Variables (Factors)},
250 | author = {Hadley Wickham},
251 | year = {2017},
252 | note = {R package version 0.2.0},
253 | url = {https://CRAN.R-project.org/package=forcats},
254 | }
255 |
256 | @Manual{foreign,
257 | title = {{foreign}: Read Data Stored by 'Minitab', 'S', 'SAS', 'SPSS', 'Stata',
258 | 'Systat', 'Weka', 'dBase', ...},
259 | author = {{R Core Team}},
260 | year = {2017},
261 | note = {R package version 0.8-69},
262 | url = {https://CRAN.R-project.org/package=foreign},
263 | }
264 |
265 | @Manual{formatR,
266 | title = {{formatR}: Format {R} Code Automatically},
267 | author = {Yihui Xie},
268 | year = {2017},
269 | note = {R package version 1.5},
270 | url = {https://CRAN.R-project.org/package=formatR},
271 | }
272 |
273 | @Manual{formr,
274 | title = {{formr}: formr survey framework},
275 | author = {Ruben Arslan},
276 | year = {2014},
277 | note = {R package version 0.7.1},
278 | }
279 |
280 | @Book{ggplot2,
281 | author = {Hadley Wickham},
282 | title = {{ggplot2}: Elegant Graphics for Data Analysis},
283 | publisher = {Springer-Verlag New York},
284 | year = {2009},
285 | isbn = {978-0-387-98140-6},
286 | url = {http://ggplot2.org},
287 | note = {version 2.2.1},
288 | }
289 |
290 | @Manual{git2r,
291 | author = {Stefan Widgren and {others}},
292 | title = {{git2r}: Provides Access to Git Repositories},
293 | year = {2018},
294 | note = {R package version 0.21.0},
295 | url = {https://CRAN.R-project.org/package=git2r},
296 | }
297 |
298 | @Manual{glue,
299 | title = {{glue}: Interpreted String Literals},
300 | author = {Jim Hester},
301 | year = {2017},
302 | note = {R package version 1.2.0},
303 | url = {https://CRAN.R-project.org/package=glue},
304 | }
305 |
306 | @Manual{gridExtra,
307 | title = {{gridExtra}: Miscellaneous Functions for "Grid" Graphics},
308 | author = {Baptiste Auguie},
309 | year = {2017},
310 | note = {R package version 2.3},
311 | url = {https://CRAN.R-project.org/package=gridExtra},
312 | }
313 |
314 | @Manual{gtable,
315 | title = {{gtable}: Arrange 'Grobs' in Tables},
316 | author = {Hadley Wickham},
317 | year = {2016},
318 | note = {R package version 0.2.0},
319 | url = {https://CRAN.R-project.org/package=gtable},
320 | }
321 |
322 | @Manual{haven,
323 | title = {{haven}: Import and Export 'SPSS', 'Stata' and 'SAS' Files},
324 | author = {Hadley Wickham and Evan Miller},
325 | year = {2017},
326 | note = {R package version 1.1.0},
327 | url = {https://CRAN.R-project.org/package=haven},
328 | }
329 |
330 | @Manual{highr,
331 | title = {{highr}: Syntax Highlighting for {R} Source Code},
332 | author = {Yixuan Qiu and Yihui Xie},
333 | year = {2016},
334 | note = {R package version 0.6},
335 | url = {https://CRAN.R-project.org/package=highr},
336 | }
337 |
338 | @Manual{hms,
339 | title = {{hms}: Pretty Time of Day},
340 | author = {Kirill Müller},
341 | year = {2017},
342 | note = {R package version 0.4.0},
343 | url = {https://CRAN.R-project.org/package=hms},
344 | }
345 |
346 | @Manual{htmltools,
347 | title = {{htmltools}: Tools for HTML},
348 | author = {{RStudio} and {Inc.}},
349 | year = {2017},
350 | note = {R package version 0.3.6},
351 | url = {https://CRAN.R-project.org/package=htmltools},
352 | }
353 |
354 | @Manual{htmlwidgets,
355 | title = {{htmlwidgets}: HTML Widgets for {R}},
356 | author = {Ramnath Vaidyanathan and Yihui Xie and JJ Allaire and Joe Cheng and Kenton Russell},
357 | year = {2017},
358 | note = {R package version 0.9},
359 | url = {https://CRAN.R-project.org/package=htmlwidgets},
360 | }
361 |
362 | @Manual{httr,
363 | title = {{httr}: Tools for Working with URLs and HTTP},
364 | author = {Hadley Wickham},
365 | year = {2017},
366 | note = {R package version 1.3.1},
367 | url = {https://CRAN.R-project.org/package=httr},
368 | }
369 |
370 | @Article{jsonlite,
371 | title = {The jsonlite Package: A Practical and Consistent Mapping Between JSON Data and {R} Objects},
372 | author = {Jeroen Ooms},
373 | journal = {arXiv:1403.2805 [stat.CO]},
374 | year = {2014},
375 | url = {https://arxiv.org/abs/1403.2805},
376 | note = {version 1.5},
377 | }
378 |
379 | @Manual{knitr,
380 | title = {{knitr}: A General-Purpose Package for Dynamic Report Generation in {R}},
381 | author = {Yihui Xie},
382 | year = {2017},
383 | note = {R package version 1.18},
384 | url = {https://yihui.name/knitr/},
385 | }
386 |
387 | @Book{knitr,
388 | title = {Dynamic Documents with {R} and knitr},
389 | author = {Yihui Xie},
390 | publisher = {Chapman and Hall/CRC},
391 | address = {Boca Raton, Florida},
392 | year = {2015},
393 | edition = {2nd},
394 | note = {ISBN 978-1498716963},
395 | url = {https://yihui.name/knitr/},
396 | }
397 |
398 | @InCollection{knitr,
399 | booktitle = {Implementing Reproducible Computational Research},
400 | editor = {Victoria Stodden and Friedrich Leisch and Roger D. Peng},
401 | title = {knitr: A Comprehensive Tool for Reproducible Research in {R}},
402 | author = {Yihui Xie},
403 | publisher = {Chapman and Hall/CRC},
404 | year = {2014},
405 | note = {ISBN 978-1466561595},
406 | url = {http://www.crcpress.com/product/isbn/9781466561595},
407 | }
408 |
409 | @Manual{labeling,
410 | title = {{labeling}: Axis Labeling},
411 | author = {Justin Talbot},
412 | year = {2014},
413 | note = {R package version 0.3},
414 | url = {https://CRAN.R-project.org/package=labeling},
415 | }
416 |
417 | @Book{lattice,
418 | title = {{Lattice}: Multivariate Data Visualization with {R}},
419 | author = {Deepayan Sarkar},
420 | publisher = {Springer},
421 | address = {New York},
422 | year = {2008},
423 | note = {ISBN 978-0-387-75968-5},
424 | url = {http://lmdvr.r-forge.r-project.org},
425 | }
426 |
427 | @Manual{lazyeval,
428 | title = {{lazyeval}: Lazy (Non-Standard) Evaluation},
429 | author = {Hadley Wickham},
430 | year = {2017},
431 | note = {R package version 0.2.1},
432 | url = {https://CRAN.R-project.org/package=lazyeval},
433 | }
434 |
435 | @Manual{likert,
436 | title = {{likert}: Analysis and Visualization Likert Items},
437 | author = {Jason Bryer and Kimberly Speerschneider},
438 | year = {2016},
439 | note = {R package version 1.3.5},
440 | url = {https://CRAN.R-project.org/package=likert},
441 | }
442 |
443 | @Article{lubridate,
444 | title = {Dates and Times Made Easy with {lubridate}},
445 | author = {Garrett Grolemund and Hadley Wickham},
446 | journal = {Journal of Statistical Software},
447 | year = {2011},
448 | volume = {40},
449 | number = {3},
450 | pages = {1--25},
451 | url = {http://www.jstatsoft.org/v40/i03/},
452 | note = {version 1.7.1},
453 | }
454 |
455 | @Manual{magrittr,
456 | title = {{magrittr}: A Forward-Pipe Operator for {R}},
457 | author = {Stefan Milton Bache and Hadley Wickham},
458 | year = {2014},
459 | note = {R package version 1.5},
460 | url = {https://CRAN.R-project.org/package=magrittr},
461 | }
462 |
463 | @Manual{markdown,
464 | title = {{markdown}: 'Markdown' Rendering for {R}},
465 | author = {JJ Allaire and Jeffrey Horner and Vicent Marti and Natacha Porte},
466 | year = {2017},
467 | note = {R package version 0.8},
468 | url = {https://CRAN.R-project.org/package=markdown},
469 | }
470 |
471 | @Manual{memoise,
472 | title = {{memoise}: Memoisation of Functions},
473 | author = {Hadley Wickham and Jim Hester and Kirill Müller and Daniel Cook},
474 | year = {2017},
475 | note = {R package version 1.1.0},
476 | url = {https://CRAN.R-project.org/package=memoise},
477 | }
478 |
479 | @Manual{mime,
480 | title = {{mime}: Map Filenames to MIME Types},
481 | author = {Yihui Xie},
482 | year = {2016},
483 | note = {R package version 0.5},
484 | url = {https://CRAN.R-project.org/package=mime},
485 | }
486 |
487 | @Manual{mnormt,
488 | title = {The {{R}} package \texttt{mnormt}: The multivariate normal and $t$ distributions (version 1.5-5)},
489 | author = {Adelchi Azzalini and Alan Genz},
490 | year = {2016},
491 | url = {http://azzalini.stat.unipd.it/SW/Pkg-mnormt},
492 | note = {version 1.5-5},
493 | }
494 |
495 | @Manual{munsell,
496 | title = {{munsell}: Utilities for Using Munsell Colours},
497 | author = {Charlotte Wickham},
498 | year = {2016},
499 | note = {R package version 0.4.3},
500 | url = {https://CRAN.R-project.org/package=munsell},
501 | }
502 |
503 | @Manual{nlme,
504 | title = {{nlme}: Linear and Nonlinear Mixed Effects Models},
505 | author = {Jose Pinheiro and Douglas Bates and Saikat DebRoy and Deepayan Sarkar and {R Core Team}},
506 | year = {2017},
507 | note = {R package version 3.1-131},
508 | url = {https://CRAN.R-project.org/package=nlme},
509 | }
510 |
511 | @Manual{openssl,
512 | title = {{openssl}: Toolkit for Encryption, Signatures and Certificates Based on
513 | OpenSSL},
514 | author = {Jeroen Ooms},
515 | year = {2017},
516 | note = {R package version 0.9.9},
517 | url = {https://CRAN.R-project.org/package=openssl},
518 | }
519 |
520 | @Manual{packrat,
521 | title = {{packrat}: A Dependency Management System for Projects and their {R} Package
522 | Dependencies},
523 | author = {Kevin Ushey and Jonathan McPherson and Joe Cheng and Aron Atkins and JJ Allaire},
524 | year = {2016},
525 | note = {R package version 0.4.8-1},
526 | url = {https://CRAN.R-project.org/package=packrat},
527 | }
528 |
529 | @Manual{pander,
530 | title = {{pander}: An {R} 'Pandoc' Writer},
531 | author = {Gergely Daróczi and Roman Tsegelskyi},
532 | year = {2017},
533 | note = {R package version 0.6.1},
534 | url = {https://CRAN.R-project.org/package=pander},
535 | }
536 |
537 | @Manual{pillar,
538 | title = {{pillar}: Coloured Formatting for Columns},
539 | author = {Kirill Müller and Hadley Wickham},
540 | note = {R package version 1.0.99.9000},
541 | url = {https://github.com/r-lib/pillar},
542 | }
543 |
544 | @Manual{pkgconfig,
545 | title = {{pkgconfig}: Private Configuration for '{R}' Packages},
546 | author = {Gábor Csárdi},
547 | year = {2017},
548 | note = {R package version 2.0.1},
549 | url = {https://CRAN.R-project.org/package=pkgconfig},
550 | }
551 |
552 | @Manual{plogr,
553 | title = {{plogr}: The 'plog' C++ Logging Library},
554 | author = {Kirill Müller},
555 | year = {2016},
556 | note = {R package version 0.1-1},
557 | url = {https://CRAN.R-project.org/package=plogr},
558 | }
559 |
560 | @Article{plyr,
561 | title = {The Split-Apply-Combine Strategy for Data Analysis},
562 | author = {Hadley Wickham},
563 | journal = {Journal of Statistical Software},
564 | year = {2011},
565 | volume = {40},
566 | number = {1},
567 | pages = {1--29},
568 | url = {http://www.jstatsoft.org/v40/i01/},
569 | note = {version 1.8.4},
570 | }
571 |
572 | @Manual{pryr,
573 | title = {{pryr}: Tools for Computing on the Language},
574 | author = {Hadley Wickham},
575 | year = {2017},
576 | note = {R package version 0.1.3},
577 | url = {https://CRAN.R-project.org/package=pryr},
578 | }
579 |
580 | @Manual{psych,
581 | title = {{psych}: Procedures for Psychological, Psychometric, and Personality Research},
582 | author = {William Revelle},
583 | organization = { Northwestern University},
584 | address = { Evanston, Illinois},
585 | year = {2017},
586 | note = {R package version 1.7.3},
587 | url = {https://CRAN.R-project.org/package=psych},
588 | }
589 |
590 | @Manual{purrr,
591 | title = {{purrr}: Functional Programming Tools},
592 | author = {Lionel Henry and Hadley Wickham},
593 | year = {2017},
594 | note = {R package version 0.2.4},
595 | url = {https://CRAN.R-project.org/package=purrr},
596 | }
597 |
598 | @Manual{readr,
599 | title = {{readr}: Read Rectangular Text Data},
600 | author = {Hadley Wickham and Jim Hester and Romain Francois},
601 | year = {2017},
602 | note = {R package version 1.1.1},
603 | url = {https://CRAN.R-project.org/package=readr},
604 | }
605 |
606 | @Article{reshape2,
607 | title = {Reshaping Data with the {reshape} Package},
608 | author = {Hadley Wickham},
609 | journal = {Journal of Statistical Software},
610 | year = {2007},
611 | volume = {21},
612 | number = {12},
613 | pages = {1--20},
614 | url = {http://www.jstatsoft.org/v21/i12/},
615 | note = {version 1.4.3},
616 | }
617 |
618 | @Manual{rlang,
619 | title = {{rlang}: Functions for Base Types and Core {R} and 'Tidyverse' Features},
620 | author = {Lionel Henry and Hadley Wickham},
621 | year = {2017},
622 | note = {R package version 0.1.6},
623 | url = {https://CRAN.R-project.org/package=rlang},
624 | }
625 |
626 | @Manual{rmarkdown,
627 | title = {{rmarkdown}: Dynamic Documents for {R}},
628 | author = {JJ Allaire and Yihui Xie and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang},
629 | year = {2017},
630 | note = {R package version 1.8},
631 | url = {https://CRAN.R-project.org/package=rmarkdown},
632 | }
633 |
634 | @Manual{rprojroot,
635 | title = {{rprojroot}: Finding Files in Project Subdirectories},
636 | author = {Kirill Müller},
637 | year = {2017},
638 | note = {R package version 1.2},
639 | url = {https://CRAN.R-project.org/package=rprojroot},
640 | }
641 |
642 | @Manual{rstudioapi,
643 | title = {{rstudioapi}: Safely Access the RStudio API},
644 | author = {JJ Allaire and Hadley Wickham and Kevin Ushey and Gary Ritchie},
645 | year = {2017},
646 | note = {R package version 0.7},
647 | url = {https://CRAN.R-project.org/package=rstudioapi},
648 | }
649 |
650 | @Manual{scales,
651 | title = {{scales}: Scale Functions for Visualization},
652 | author = {Hadley Wickham},
653 | year = {2017},
654 | note = {R package version 0.5.0},
655 | url = {https://CRAN.R-project.org/package=scales},
656 | }
657 |
658 | @Manual{stringi,
659 | title = {{R} package stringi: Character string processing facilities},
660 | author = {Marek Gagolewski},
661 | year = {2017},
662 | url = {http://www.gagolewski.com/software/stringi/},
663 | note = {version 1.1.6},
664 | }
665 |
666 | @Manual{stringr,
667 | title = {{stringr}: Simple, Consistent Wrappers for Common String Operations},
668 | author = {Hadley Wickham},
669 | year = {2017},
670 | note = {R package version 1.2.0},
671 | url = {https://CRAN.R-project.org/package=stringr},
672 | }
673 |
674 | @Manual{tibble,
675 | title = {{tibble}: Simple Data Frames},
676 | author = {Kirill Müller and Hadley Wickham},
677 | year = {2017},
678 | note = {R package version 1.4.1},
679 | url = {https://CRAN.R-project.org/package=tibble},
680 | }
681 |
682 | @Manual{tidyr,
683 | title = {{tidyr}: Easily Tidy Data with 'spread()' and 'gather()' Functions},
684 | author = {Hadley Wickham and Lionel Henry},
685 | year = {2017},
686 | note = {R package version 0.7.2},
687 | url = {https://CRAN.R-project.org/package=tidyr},
688 | }
689 |
690 | @Manual{tidyselect,
691 | title = {{tidyselect}: Select from a Set of Strings},
692 | author = {Lionel Henry and Hadley Wickham},
693 | year = {2017},
694 | note = {R package version 0.2.3},
695 | url = {https://CRAN.R-project.org/package=tidyselect},
696 | }
697 |
698 | @Manual{utf8,
699 | title = {{utf8}: Unicode Text Processing},
700 | author = {Patrick O. Perry},
701 | year = {2018},
702 | note = {R package version 1.1.3},
703 | url = {https://CRAN.R-project.org/package=utf8},
704 | }
705 |
706 | @Manual{viridisLite,
707 | title = {{viridisLite}: Default Color Maps from 'matplotlib' (Lite Version)},
708 | author = {Simon Garnier},
709 | year = {2017},
710 | note = {R package version 0.2.0},
711 | url = {https://CRAN.R-project.org/package=viridisLite},
712 | }
713 |
714 | @Manual{whisker,
715 | title = {{whisker}: {{mustache}} for {R}, logicless templating},
716 | author = {Edwin {de Jonge}},
717 | year = {2013},
718 | note = {R package version 0.3-2},
719 | url = {https://CRAN.R-project.org/package=whisker},
720 | }
721 |
722 | @Manual{withr,
723 | title = {{withr}: Run Code 'With' Temporarily Modified Global State},
724 | author = {Jim Hester and Kirill Müller and Kevin Ushey and Hadley Wickham and Winston Chang},
725 | year = {2017},
726 | note = {R package version 2.1.1},
727 | url = {https://CRAN.R-project.org/package=withr},
728 | }
729 |
730 | @Manual{xtable,
731 | title = {{xtable}: Export Tables to LaTeX or HTML},
732 | author = {David B. Dahl},
733 | year = {2016},
734 | note = {R package version 1.8-2},
735 | url = {https://CRAN.R-project.org/package=xtable},
736 | }
737 |
738 | @Manual{yaml,
739 | title = {{yaml}: Methods to Convert {R} Data to YAML and Back},
740 | author = {Jeremy Stephens},
741 | year = {2017},
742 | note = {R package version 2.1.16},
743 | url = {https://CRAN.R-project.org/package=yaml},
744 | }
745 |
--------------------------------------------------------------------------------
/repro_web_stack.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: No
4 | SaveWorkspace: No
5 | AlwaysSaveHistory: Yes
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: No
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: knitr
13 | LaTeX: pdfLaTeX
14 |
15 | AutoAppendNewline: Yes
16 | StripTrailingWhitespace: Yes
17 |
18 | BuildType: Website
19 |
20 | QuitChildProcessesOnExit: Yes
21 |
--------------------------------------------------------------------------------
/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 84px !important;
3 | }
4 |
--------------------------------------------------------------------------------