Ch. 3 Reproducible Science Tools & Platforms

3.1 Overview

Reproducible Science is supported by a large toolkit of software. Below is a highlight of a few important tools that meet most data needs.

3.2 Reproducible Science Tools & Platforms


3.3 What is Github?

A platform to store and collaborate on code.

Get Github Desktop

Get Github Cheatsheets

3.3.1 Github Concepts

  • Repository: a logical unit of storage for maintaining code/other assets. Can contain many folders, files.
  • .gitignore: a file (with dot prefix) to specify what files should NOT be pushed to Github
  • .gitkeep: a file (with dot prefix) to specify that a folder should be kept if blank as part of the project structure. This is helpful when creating templates.
  • commit: create a record/snapshot of all files (or specific files) at a moment in time. You may tag collaborators, add a title and notes.
  • push: ‘storing’ the result of prior commits
  • pull: ‘extracting’ the result of prior commits
  • diff: difference (line-specific) between two commits. Helpful when trying to remember when and where code edits where made.

3.4 What is Markdown?

Lightweight markup used to add formatting elements to plaintext documents.

Created by John Gruber in 2004, Markdown is now one of the world’s most popular markup languages.

  • Using Markdown is different than using a WYSIWYG editor.
  • In Word, you click buttons in GUI to apply formatting
  • In Markdown, you add syntax to text to apply formatting

For more information, visit: https://www.markdownguide.org/getting-started/


3.5 What is R?

Statistical programming language (released ~1993). Similar to S (released ~1976).

Download R

3.5.1 What is RStudio?

Integrated development environment (IDE) for R.

Download RStudio

3.5.2 What is RMarkdown?

Reproducible notebook (akin to Jupyter Notebooks in Python) where you can write a narrative using Markdown syntax and embed code/plots throughout.

Markdown is a simple formatting syntax for authoring HTML, PDF, MS Word and Powerpoint documents, websites and more. For more details on using R Markdown see http://rmarkdown.rstudio.com.

This is an R Markdown-based book, using the bookdown package.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document.

3.5.3 What are R packages?

Think of CRAN as an equivalent to iOS App Store, or Google Play Store; CRAN is where you download published R packages (directly from R, RStudio).

A developer can also make packages available directly in source code, or via tools like Github, for example:

install.packages("devtools")
devtools::install_github("nelsonroque/ruf")

3.6 What is Endnote

A citation manager. Especially useful for research projects with large amounts of citations.

Here is a guide from the UCF library with installation links.

3.6.1 Why Endnote?

  • no need for manual tracking (deleting, updating) of references
  • change citation format at click of a button
  • capture PDFs for any citations at click of a button

3.6.2 Endnote Downloads: