Additional Readings
Reproducible research
- Best Practices for Scientific Computing
- Ten Simple Rules for Reproducible Computational Research
- Reproducible Research, Keith A. Baggerly and Donald A. Berry
- Publish your computer code: it is good enough
- Implementing Reproducible Research
- State of the Art: Reproducibility in Artificial Intelligence
- Show Your Work: Improved Reporting of Experimental Results
- A statistical definition for reproducibility and replicability
- What does research reproducibility mean?
- Reproducible Research in Computational Science
Text editors
Command line
- Install Xcode Command Line Tools for Mac
- Cygwin
- Survival guide for Unix newbies
- Settling into Unix
- Shell programming with bash: by example, by counter-example
- Some Essential Unix Commands
- bash FAQ
- Command line murder mystery
- Tutorial video: How to Run Linux/Bash on Windows 10 Using Windows Subsystem for Linux
- Bash tutorial videos
- Using Brew on Windows 10 with Windows Subsystem for Linux
R Markdown
- Installing
rmarkdown
on WSL - R Markdown: The Definitive Guide
- Markdown cheat sheet
- R Markdown Tutorial
- R Markdown Cheat Sheet
- knitr code chunk options
- Math in R Markdown
- Creating Tables in R Markdown
- bookdown: Authoring Books and Technical Documents with R Markdown
- R Markdown chapter in R for Data Science
- R Markdown formats chapter in R for Data Science
git and GitHub
- Happy Git and GitHub for the useR
- Oh Sh*t, Git!?!
- Connecting to GitHub with ssh
- Configuring ssh credentials for GitHub
- Another video illustrating connecting to GitHub with ssh
- Karl Broman’s git/github guide
- Pro Git
- Software carpentry notes on git
- Git can facilitate greater reproducibility and increased transparency in science
- Intro to Git for Scientists
- git - the simple guide
- Resources to learn Git
- Github Tutorial
- Git Handbook
GNU Makefiles
- GNU Make home page
- Software carpentry’s Make tutorial
- Karl Broman’s minimal make
- make manual
- GNU Make for Reproducible Data Analysis
- Makefiles for R/LaTeX projects
- Example Makefile for R package
- Managing Projects with GNU Make
Project organization
- Tidy Data
- A Quick Guide to Organizing Computational Biology Projects
- Some Simple Guidelines for Effective Data Management
- Nine simple ways to make it easier to (re)use your data
- Stanford library best practices for file naming
- Stanford library guide to metadata
here
R package
Coding Style
- Software carpentry: Creating R Functions
- R for Data Science: Functions
- DataCamp: A Tutorial on Using Functions in R!
- Code and Data for the Social Sciences: A Practitioner’s Guide
- Best Practices for Scientific Computing
- tidyverse style guide
- The Elements of Programming Style
- The Practice of Programming
- Good Enough Practices for Scientific Computing
- 10 tips for writing cleaner code
- 15 Rules for Writing Quality Code
- Best Practices for Writing R Code
R packages
- Hadley Wickham’s R packages book
- Jeff Leek’s R package tutorial
- Karl Broman’s R package primer
- Jenny Bryan’s Write your first R package
- CRAN R package tutorial
pkgdown
: Make pretty websites for your packagesroxygen2
vignettetestthat
packageassertthat
package- Pick a license, any license
roxygen2
documentation
Docker
- Install Docker
- What is Docker?
- Docker Documentation
- Docker Tutorial
- List of Docker Resources
- Play With Docker in Your Browser
- Dockerfile cheat sheet
- Configure Windows Subsystem for Linux with Docker
- R Docker tutorial
- An Introduction to Docker for R Users
- Using R via rocker
Python
- Install Anaconda
- Anaconda Package Management
- A Comprehensive Look at Basic Python
- A Brief Intro to Pandas
- Code Academy python courses
- Google’s python class
- A byte of python
- tuts+: The best way to learn python
- Software Carpentry: Programming with Python
Jupyter Notebooks
- Jupyter Notebooks Docs
- Try Jupyter in Browser
- Basic Tutorial
- Video Tutorial
- IRkernel Docs
- IRDisplay Docs
- Ipython Magics Docs
- Ipython Widgets Docs
- R Plotly Tutorial
- rpy2 Tutorial
- Google Colab