class: center, middle, inverse, title-slide # Projektstruktur ## Rproj + ProjectTemplate + Git(Hub) + Rmd ### Erik Bülow ### 2020-12-17 --- class: center, middle background-image: url("data:image/png;base64,#figs/standards.png") background-size: contain --- class: center, middle # https://rpubs.com/eribul/proj --- <img src="data:image/png;base64,#figs/cran.jpg" width="1404" /> --- <img src="data:image/png;base64,#figs/cran2.png" width="1400" /> --- <img src="data:image/png;base64,#figs/usethis.PNG" width="1308" /> --- <img src="data:image/png;base64,#figs/rproj.PNG" width="743" /> --- <img src="data:image/png;base64,#figs/pt.PNG" width="1188" /> --- <img src="data:image/png;base64,#figs/git.PNG" width="1308" /> --- <img src="data:image/png;base64,#figs/github.PNG" width="1367" /> --- background-image: url(https://github.com/yihui/xaringan/releases/download/v0.0.2/karl-moustache.jpg) --- <img src="data:image/png;base64,#figs/bitbucket.PNG" width="1392" /> --- # Kom igång ```r library(ProjectTemplate) create.project( project.name = "new-project", template = "full", dump = FALSE, merge.strategy = c("require.empty", "allow.non.conflict"), rstudio.project = TRUE ) usethis::use_git() # Tungt att versionhantera datafiler lokalt # Illegalt om ej lokalt (individdata)! usethis::use_git_ignore(c(".RData", ".rds")) usethis::use_github ``` --- # Struktur - `README.md` (*) - `config/`(*) - `global.dcf` - `.gitignore` - `TODO` ## I bakgrunden - `.git` - `.Rproj.user` --- # Resources - `lib/` - `globals.R` - `helpers.R` - `data/` (*) - `docs/` --- # Work flow - `munge/` (*) - `01-A.R` - `src/` (*) - `eda.R` - `reports/` --- # Output - `cache/` (*) - `graphs/` - `logs/` --- # QA - `diagnostics/` - `1.R` - `profiling/` - `1.R` - `tests/` - `1.R` --- # RMarkdown - Inte under `munge/` - Kan behöva `opts_knit$set(root.dir = "..")` (se issue #293) - Kan generera Github-Markdown-dokument för direkt visning online (https://github.com/eribul/NH_luxation_infektion/tree/master/diagnostics). --- class: center, middle background-image: url("data:image/png;base64,#figs/config.PNG") background-size: contain --- # Viktiga kommandon ```r library(ProjectTemplate) # Alt via `.RProfile` create.project() load.project() run.project() cache() ``` --- # Exempel - Projekt 29 - Zenodo - binder privat än så länge - separata brancher för resp submittering - issues - https://github.com/eribul/2019-xxx-Johan_Simonsson/issues/22 --- # Ökad reproducerbarhet - `{renv}`/MRAN (packrat) - Binder/`{holepunch}` - docker/`{rocker}` m fl --- <img src="data:image/png;base64,#figs/workflowr.PNG" width="1323" /> --- <img src="data:image/png;base64,#figs/drake.PNG" width="1588" /> --- <img src="data:image/png;base64,#figs/rconf.PNG" width="1309" /> --- <img src="data:image/png;base64,#figs/hilary.PNG" width="907" />