There are as many templates for (R) repos as there R users... Here's ours.
We srtucture the repo as a package. We may never build it but usually we do so that the package functions are available everywhere in it
We structure the repo as a package. We may never build it but usually we do so that the package functions are available everywhere in it
Things you should touch:
| Item | Description |
| --- | --- |
| **env.R** | Where we store all the parameters that might be re-used across our repo. Such as colour defaults, data paths etc. We avoid using a project/repo level .Rprofile because it can lead to [a **lot** of confusion](https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile-site-Renviron-site-rsession-conf-and-repos-conf
) |
| **env.R** | Where we store all the parameters that might be re-used across our repo. Such as colour defaults, data paths etc. We avoid using a project/repo level .Rprofile because it can lead to [a **lot** of confusion](https://support.rstudio.com/hc/en-us/articles/360047157094-Managing-R-with-Rprofile-Renviron-Rprofile-site-Renviron-site-rsession-conf-and-repos-conf) |
|**DESCRIPTION** | But only if you use this as a tmeplate for your own repo - it is a special file for packages |
| **R/** | Where we store functions that get built |
| **analysis/** | Where we store .Rmd files and the .R scripts that call them (usually using a `drake` plan) |
| **docs/** | Where we put output generated by the .R/.Rmd code. This is helpful if you are using [github/lab pages](https://guides.github.com/features/pages/). Unfortunately the University of Southampton gitlab service does not currently support this. |
| **notData/** | Where we do not store data. R packages expect certain kinds of data in their 'data/' folders. Do not put your data in it. In fact we recommend **not** putting your data in your repo at all. Yes, this breaks true reproducability but there are reasons:
* we often use data that is commerecial or sensitive or personal (under GDPR) - so we cannot risk that leaking out
* we often use _very large_ datasets which most git/hub/lab services sensibly reject
* we often pull real time data on the fly from elsewhere so storage makes no sense |
| **notData/** | Where we do not store data. R packages expect certain kinds of data in their 'data/' folders. Do not put your data in it. |
In fact we recommend **not** putting your data in your repo at all. Yes, this breaks true reproducability but there are reasons:
* we often use data that is commercial or sensitive or personal (under GDPR) - so we cannot risk that leaking out
* we often use _very large_ datasets which most git/hub/lab services sensibly reject
* we often pull real time data on the fly from elsewhere so storage makes no sense
Things you should not touch:
| **man/** | Created by building the project/package using roxygen|
| **NAMESPACE** | - ditto -
\ No newline at end of file
| Item | Description |
| --- | --- |
| **man/** | Created by building the project/package using roxygen2 |