knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.showtext = TRUE ) library(esqlabsR)
Project Structure can be initialized by calling the function initProject()
.
library(esqlabsR) initProject()
This will create a set of directories and files that match the expected project's structure.
fs::dir_tree(path = esqlabsR:::exampleDirectory("TestProject"), glob = "*.md|*.R", invert = TRUE)
The ProjectConfiguration
stores the paths to the model-, data-, and other files
and directories. It will be used at several steps in esqlabsR
workflows so it
needs to be created before performing any simulations.
By printing the ProjectConfiguration
, we can see the locations of all files
used in the workflows:
my_project_configuration <- createProjectConfiguration(path = exampleProjectConfigurationPath())
Now that the project structure is initialized and the ProjectConfiguration
is
created, read vignette("esqlabsR-design-scenarios")
to continue the process.
To learn more about ProjectConfiguration
, read the following sections.
If required, you can change the location of one of the files or folders using relative or absolute paths
# change the location of the output folder projectConfiguration$outputFolder <- "../anotherOutputFolder" # change the location of the model parameters file projectConfiguration$modelParametersFile <- "absolute/path/to/anotherModelParameters.xlsx"
ProjectConfiguration.xlsx
The ProjectConfiguration.xlsx
file will be used by esqlabsR
to generate a
ProjectConfiguration
object which is the central piece of a project. It should
be located in the root folder of the project.
This file defines where all the necessary files are stored in the project
folder. All the path specified in the Value
column should be relative to the
ProjectConfiguration.xlsx
location.
All these directories and files have a specific purpose and template and are describe in next sections.
ProjectConfiguration_excel <- readxl::read_xlsx(exampleProjectConfigurationPath()) reactable::reactable(ProjectConfiguration_excel, columns = list( "Property" = reactable::colDef(minWidth = 50), "Value" = reactable::colDef(show = FALSE), "Description" = reactable::colDef(minWidth = 100) ), outlined = TRUE, pagination = FALSE, highlight = TRUE )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.