For a simple R project
checklist
assumes you have some main folder for your
project. Within that main folder you create the checklist
project which should contain all R related files (scripts and data).
Place all non R related files in other folders under the main
folder.
The checklist
project has a mandatory folder
source
where you place all the R and Rmarkdown files. The
other folders are optional. The data
folder holds all the
data files for the analysis. The output
folder holds the
rendered files from the analysis. The media
folder holds
the images you want to incorporate in the Rmarkdown files. The
inst
folder stores some checklist
specific
data.
While you can add other folders the root of your
checklist
project, we recommend to stick with the default
folders. Having a non-standard folder name results in a warning when
running check_folder()
.
In case you want to use version control (strongly recommended), use the root of the R project as the root of the version control project.
─┬─ main_folder
├─── folder_a
├─── folder_b
└─┬─ checklist_project_name
├─── data
├─── inst
├─── media
├─── output
└─── source
A more complex project
We advise to use subfolders with source
,
data
and / or media
when the project is more
complex. You are free to create a relevant folder structure with these
folders. E.g. source/import
for scripts to import data;
source/analysis
for scripts to run the analysis and
source/report
for the bookdown
report.
─┬─ main_folder
├─── folder_a
├─── folder_b
└─┬─ r_project_name
├─┬─ data
│ ├─── raw
│ ├─── intermediate
│ └─── processed
├─── inst
├─┬─ media
│ ├─── collaborators
│ └─── report
├─── output
└─┬─ source
├─── import
├─── analysis
└─── report
A project with several reports with different data and media
You can opt to use report specific data
and/or
media
folders instead of common data
and/or
media
folders. However, if you choose to have a report
specific data
folder, you no longer can have a common
data
folder. The same goes for a report specific
media
folder. Hence a data
folder at the
project root implies that the user can find all data in that folder. No
data
folder at the project root implies that the user needs
to look for the data in the source folder of the report.
─┬─ main_folder
├─── folder_a
├─── folder_b
└─┬─ r_project_name
├─── inst
├─── output
└─┬─ source
├─┬─ report_a
│ ├─── data
│ └─── media
└─┬─ report_b
├─── data
└─── media