| Title: | Automatic Replication Tools for Meta-Analysis |
|---|---|
| Description: | Provides a unified and straightforward interface for performing a variety of meta-analysis methods directly from user data. Users can input a data frame, specify key parameters, and effortlessly execute and compare multiple common meta-analytic models. Designed for immediate usability, the package facilitates transparent, reproducible research without manual implementation of each analytical method. Ideal for researchers aiming for efficiency and reproducibility, it streamlines workflows from data preparation to results interpretation. |
| Authors: | Petr Čala [aut, cre], Matyáš Tvrz [ctb] (cluster-robust standard errors for frequentist model averaging) |
| Maintainer: | Petr Čala <[email protected]> |
| License: | GPL-3 |
| Version: | 0.5.0 |
| Built: | 2026-09-30 14:29:27 UTC |
| Source: | https://github.com/petrcala/artma |
Main entry point for the artma package. This function orchestrates the complete meta-analysis workflow: loading options, preparing data, and running specified analytical methods.
artma( data = NULL, methods = NULL, options = NULL, options_dir = NULL, open_results = FALSE, ... )artma( data = NULL, methods = NULL, options = NULL, options_dir = NULL, open_results = FALSE, ... )
data |
[data.frame, optional] Data frame to analyze. If |
methods |
[character, optional] A character vector of method names to run.
Use |
options |
[character, optional] Name of the options file (with or without
|
options_dir |
[character, optional] Directory containing the options file.
If |
open_results |
[logical, optional] Whether to open the results directory
after exporting results. Defaults to |
... |
Additional arguments passed to the runtime methods. |
The artma() function is the primary way to interact with the artma package.
It handles the complete workflow:
Options Loading: Loads configuration from an options file (in the session hub, from the entry create-or-pick flow or the options-file menu item)
Data Preparation: Reads and prepares your data (unless data is provided)
Method Execution: Runs the specified analytical methods on your data
Results: Returns a structured list of results
Options files are YAML configuration files that store all settings for your analysis, including data paths, column mappings, method parameters, and output preferences. They ensure reproducibility and make it easy to manage multiple analysis configurations.
Methods are analytical functions that perform specific meta-analysis tasks (e.g., funnel plots, Bayesian Model Averaging, effect size calculations). You can run multiple methods in a single call, and they will execute in a predefined order.
When data is provided, it bypasses the data reading step and uses your data frame
directly. The data will still be preprocessed and validated according to your
options configuration. This is useful when you already have data loaded in R or
want to analyze data programmatically.
Methods that do not depend on one another form a dependency layer and run concurrently in forked workers, so a run costs roughly the slowest method per layer rather than the sum of all of them. Each method's CLI output is captured and replayed in discovery order once the layer finishes, so the console reads like a sequential run.
Set general.parallel to FALSE in the options file to disable this.
Execution also falls back to sequential automatically on Windows, on
single-core machines, and in interactive sessions whose autonomy level still
allows methods to prompt.
Every method receives its own L'Ecuyer-CMRG stream derived from the
general.seed option and the method's name, so stochastic methods
(bootstrap, MCMC) draw the same numbers whether the run was parallel or
sequential, and regardless of which other methods ran alongside. Setting
general.seed to NA derives the run seed from the session RNG instead,
so calling set.seed() before artma() governs reproducibility the way
it does for any stochastic R function.
Every run that saves results writes a run.json into its output directory:
when it ran, the options file and data source behind it, the methods
requested, run, skipped and failed, the effective seed, and the files it
wrote. The file list is recorded as the files are written, so it describes
this run rather than the accumulated contents of the directory, and it is
what the HTML report uses to find each method's plots.
The manifest is overwritten on every run into the same output directory: it
always describes the latest run, never a history. Runs driven by different
options files already get their own output directory. To keep every run,
set output.run_subdirectories to TRUE: each run then writes into
<output.dir>/runs/<timestamp>/, with its own manifest, tables, graphics
and report, and artma::results_open() opens the latest one.
A method that throws an error does not abort the run. The failing method is
skipped with a warning, the remaining methods still execute, and results from
the methods that succeeded are exported as usual. A summary of successes and
failures is printed at the end of the run. The run itself never signals an
error because of a method failure; when every requested method fails, a final
warning is emitted instead. Failed method names and their error messages are
available in the failed_methods attribute of the returned list.
[list] A named list containing results from each method, indexed by
method name. The structure of each result depends on the specific method.
Methods that fail are omitted from the list; their names and error messages
are attached as the failed_methods attribute. The run_info attribute
carries the run's identity: the methods requested, the effective seed, and
the files each method wrote. A session hub call additionally attaches a
runs attribute with one entry per run (methods, seed, timestamp, and the
options changed since the previous run) and keeps the latest result per
method across the session's runs.
artma::methods_list() - List available methods
artma::options_create() - Create a new options file
artma::prepare_data() - Prepare data manually
## Not run: # Interactive mode - will prompt for options and methods results <- artma() # Run specific methods with an options file results <- artma( methods = c("funnel_plot", "bma", "fma"), options = "my_analysis.yaml" ) # Run all methods results <- artma(methods = "all", options = "my_analysis.yaml") # Use data directly (bypasses file reading) my_data <- data.frame( effect = c(0.5, 0.3, 0.7), se = c(0.1, 0.15, 0.12), study_id = c("Study A", "Study B", "Study C") ) results <- artma(data = my_data, methods = "funnel_plot") # Access results funnel_result <- results$funnel_plot ## End(Not run)## Not run: # Interactive mode - will prompt for options and methods results <- artma() # Run specific methods with an options file results <- artma( methods = c("funnel_plot", "bma", "fma"), options = "my_analysis.yaml" ) # Run all methods results <- artma(methods = "all", options = "my_analysis.yaml") # Use data directly (bypasses file reading) my_data <- data.frame( effect = c(0.5, 0.3, 0.7), se = c(0.1, 0.15, 0.12), study_id = c("Study A", "Study B", "Study C") ) results <- artma(data = my_data, methods = "funnel_plot") # Access results funnel_result <- results$funnel_plot ## End(Not run)
Get the current autonomy level.
Autonomy controls how much user interaction is required during analysis.
interactive() is the hard gate: non-interactive sessions never prompt,
regardless of this setting.
autonomy_get()autonomy_get()
[character or NULL] The current autonomy level ("ask_more", "balanced", or "autonomous"), or NULL if not set.
## Not run: # Get current autonomy level level <- autonomy_get() print(level) ## End(Not run)## Not run: # Get current autonomy level level <- autonomy_get() print(level) ## End(Not run)
Check if the package is running in fully autonomous mode, i.e. the autonomy level is set to "autonomous", or the session is non-interactive (where prompts never happen regardless of the configured level).
autonomy_is_full()autonomy_is_full()
[logical] TRUE if fully autonomous, FALSE otherwise.
## Not run: if (autonomy_is_full()) { message("Running in fully autonomous mode") } ## End(Not run)## Not run: if (autonomy_is_full()) { message("Running in fully autonomous mode") } ## End(Not run)
Check if the autonomy level has been configured.
autonomy_is_set()autonomy_is_set()
[logical] TRUE if the autonomy level is set, FALSE otherwise.
## Not run: if (!autonomy_is_set()) { message("Autonomy level not configured") } ## End(Not run)## Not run: if (!autonomy_is_set()) { message("Autonomy level not configured") } ## End(Not run)
Set the autonomy level for the current session. This setting controls how much user interaction is required during analysis.
autonomy_set(level)autonomy_set(level)
level |
[character] The autonomy level to set.
Legacy numeric levels (1-5) are still accepted and translated, with a warning (1-2 -> "ask_more", 3 -> "balanced", 4-5 -> "autonomous"). |
NULL (invisible)
## Not run: # Set to fully autonomous mode autonomy_set("autonomous") # Set to balanced mode autonomy_set("balanced") ## End(Not run)## Not run: # Set to fully autonomous mode autonomy_set("autonomous") # Set to balanced mode autonomy_set("balanced") ## End(Not run)
Copy the launcher shipped inside the installed package to a directory on your
PATH, so artma <command> works from any shell. The launcher relies solely
on the installed package; it resolves nothing from its own location.
The no-install alternative is to call the CLI through Rscript directly:
Rscript -e 'artma::cli_run()' run --options my_analysis.yaml.
In interactive sessions the copy is confirmed via a menu. In non-interactive
sessions it requires force = TRUE and otherwise aborts. It never writes
inside R.home() and never elevates privileges.
cli_install(dir = "~/.local/bin", force = FALSE)cli_install(dir = "~/.local/bin", force = FALSE)
dir |
[character, optional] Directory to install the launcher into.
Defaults to |
force |
[logical, optional] Required to install in a non-interactive
session. Ignored (the menu governs) when interactive. Defaults to |
[character] Path to the installed launcher (invisibly).
## Not run: artma::cli_install() artma::cli_install(dir = "~/bin", force = TRUE) ## End(Not run)## Not run: artma::cli_install() artma::cli_install(dir = "~/bin", force = TRUE) ## End(Not run)
Scriptable entry point behind the artma launcher and
Rscript -e 'artma::cli_run()'. It parses an argument vector, dispatches to
the matching public function (artma(), methods_list(),
options_validate() / options_create() / options_list(), or the package
version) and returns an exit code. No analysis logic lives here: each
subcommand is a thin translation to the existing API.
The function never calls quit(); it returns the exit code invisibly so it
can be driven in-process by tests. The launcher script turns that code into a
process exit status.
Exit codes:
0 success (including --help).
1 an R error was raised while dispatching (message printed to stderr).
2 a usage error (unknown command, unknown flag, malformed value); usage
is printed to stderr.
Subcommands: run, methods, options (with sub-actions validate,
create, list) and version. Every subcommand accepts --help.
Flags for run become an in-session options() overlay applied around the
artma() call, so the user's YAML options file is never mutated:
--data sets artma.data.source_path, --output-dir sets
artma.output.dir, --verbose sets artma.verbose, --no-cache sets
artma.cache.use_cache to FALSE, and --report sets
artma.output.report to TRUE. --options, --options-dir and
--methods are forwarded as artma() arguments.
In --json mode stdout carries only a JSON run manifest (methods_run,
methods_skipped with reasons, output_dir, exported_files, seed,
package_version), read back from the run.json the run wrote; all
human-readable output is routed to stderr.
cli_run(args = commandArgs(trailingOnly = TRUE))cli_run(args = commandArgs(trailingOnly = TRUE))
args |
[character, optional] The argument vector to parse. Defaults
to |
[integer] The exit code (invisibly).
## Not run: # List available methods artma::cli_run("methods") # Run two methods against an options file, emitting a JSON manifest artma::cli_run(c( "run", "--options", "my_analysis.yaml", "--methods", "funnel_plot,effect_summary_stats", "--json" )) ## End(Not run)## Not run: # List available methods artma::cli_run("methods") # Run two methods against an options file, emitting a JSON manifest artma::cli_run(c( "run", "--options", "my_analysis.yaml", "--methods", "funnel_plot,effect_summary_stats", "--json" )) ## End(Not run)
Regenerate the data config from the dataframe, clearing all overrides.
config_fix(options_file_name = NULL, options_dir = NULL)config_fix(options_file_name = NULL, options_dir = NULL)
options_file_name |
[character, optional] The name of the options
file. If |
options_dir |
[character, optional] The directory containing options
files. If |
[list] The fixed data config.
Returns the fully-resolved data config (base defaults merged
with sparse overrides). If var_name is provided, returns only that
variable's config entry.
config_get(var_name = NULL, options_file_name = NULL, options_dir = NULL)config_get(var_name = NULL, options_file_name = NULL, options_dir = NULL)
var_name |
[character, optional] A specific variable name to
retrieve. If |
options_file_name |
[character, optional] The name of the options
file. If |
options_dir |
[character, optional] The directory containing options
files. If |
[list] The fully-resolved data config (or a single entry).
Returns only the sparse overrides that are actually persisted in the options file – i.e., only non-default field values.
config_overrides(options_file_name = NULL, options_dir = NULL)config_overrides(options_file_name = NULL, options_dir = NULL)
options_file_name |
[character, optional] The name of the options
file. If |
options_dir |
[character, optional] The directory containing options
files. If |
[list] The sparse overrides (only non-default values).
Removes all overrides for a specific variable (or all variables), resetting them to auto-detected defaults.
config_reset(var_name = NULL, options_file_name = NULL, options_dir = NULL)config_reset(var_name = NULL, options_file_name = NULL, options_dir = NULL)
var_name |
[character, optional] The variable name to reset. If
|
options_file_name |
[character, optional] The name of the options
file. If |
options_dir |
[character, optional] The directory containing options
files. If |
[list] The updated fully-resolved data config (invisibly).
Sets specific config fields for a variable. Only non-default values are persisted to the options file.
config_set(var_name, ..., options_file_name = NULL, options_dir = NULL)config_set(var_name, ..., options_file_name = NULL, options_dir = NULL)
var_name |
[character] The variable name to configure. |
... |
Named arguments for config fields to set
(e.g., |
options_file_name |
[character, optional] The name of the options
file. If |
options_dir |
[character, optional] The directory containing options
files. If |
[list] The updated fully-resolved data config (invisibly).
Open a data frame in R's viewer. Data can be supplied as a file path, a data
frame, or loaded from an options file (with the same prompt flow as
artma() when no options are given).
data_preview( data = NULL, options = NULL, options_dir = NULL, preprocess = TRUE )data_preview( data = NULL, options = NULL, options_dir = NULL, preprocess = TRUE )
data |
[character, data.frame, optional] Either |
options |
[character, optional] Name of the options file (with or
without |
options_dir |
[character, optional] Directory containing the options
file. If |
preprocess |
[logical, optional] If |
Three data sources are supported:
Path: pass a length-one character path to a data file. With
preprocess = FALSE, the file is read without loading options
(raw read). With preprocess = TRUE, options are loaded and the
full pipeline is applied.
Data frame: pass a data frame. With preprocess = FALSE,
it is viewed as-is. With preprocess = TRUE, options are loaded
and preprocess + compute are applied before viewing.
NULL: data comes from the chosen options file (same
"select or create options file" flow as artma() with empty
arguments). With preprocess = TRUE (default), the full pipeline
(read, preprocess, compute) is run. With preprocess = FALSE, only
the data as read from file (with column standardization from options) is
shown, without preprocessing or computed columns.
In non-interactive mode, when data is NULL and options
is NULL, no viewer is shown (consistent with artma()).
Invisible NULL. Opens the data in the standard R viewer
(utils::View()). When no viewer is available (a non-interactive
session, or a Unix session with no reachable display), the first rows are
printed instead.
artma - Run meta-analysis methods
prepare_data() - Prepare data manually
options_load - Load options
## Not run: # Preview data from options file (prompts for file if NULL) data_preview(options = "my_analysis.yaml") # Preview raw file without loading options data_preview("/path/to/data.csv", preprocess = FALSE) # Preview preprocessed data from a path (uses options for standardization) data_preview("/path/to/data.csv", options = "my_analysis.yaml") # Preview a data frame as-is data_preview(mtcars, preprocess = FALSE) ## End(Not run)## Not run: # Preview data from options file (prompts for file if NULL) data_preview(options = "my_analysis.yaml") # Preview raw file without loading options data_preview("/path/to/data.csv", preprocess = FALSE) # Preview preprocessed data from a path (uses options for standardization) data_preview("/path/to/data.csv", options = "my_analysis.yaml") # Preview a data frame as-is data_preview(mtcars, preprocess = FALSE) ## End(Not run)
Print an overview of the runtime methods supported by artma, and return it
as a data frame. The table is built from the metadata each method registers
with register_runtime_method(): what it does, which data columns it needs,
which methods run before it, which optional packages it uses (and whether
they are installed), and whether it is opt-in (left out of
methods = "all").
Pass a data frame to available_for to turn the table into a pre-flight
check: each method's required columns are matched against that data, so a
method that would be skipped is visible before the run rather than after.
methods_list(available_for = NULL)methods_list(available_for = NULL)
available_for |
[data.frame, optional] Data to check each method's
required columns against. When supplied, the returned frame gains a
|
[data.frame] Invisibly, one row per method, with the method,
description, required_columns, depends_on, suggests,
missing_packages, installed, and opt_in columns (plus
missing_columns and available when available_for is supplied).
Multi-value columns are comma-separated strings.
## Not run: artma::methods_list() artma::methods_list(available_for = my_data) ## End(Not run)## Not run: artma::methods_list() artma::methods_list(available_for = my_data) ## End(Not run)
Provide a name of a user options file to copy from, and a name of a file to copy to, and copy from the 'from' file to the 'to' file.
options_copy( options_file_name_from = NULL, options_file_name_to = NULL, options_dir = NULL, should_overwrite = NULL )options_copy( options_file_name_from = NULL, options_file_name_to = NULL, options_dir = NULL, should_overwrite = NULL )
options_file_name_from |
[character, optional] Name of the options file to copy from. If not provided, the user will be prompted. Defaults to |
options_file_name_to |
[character, optional] Name of the options file to copy to. If not provided, the user will be prompted. Defaults to |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
should_overwrite |
[logical, optional] Whether to overwrite an existing file without asking. If |
NULL
Create a new user options file from an options template.
options_create( options_file_name = NULL, options_dir = NULL, template_path = NULL, user_input = list(), should_validate = TRUE, should_overwrite = FALSE, action_name = "creating" )options_create( options_file_name = NULL, options_dir = NULL, template_path = NULL, user_input = list(), should_validate = TRUE, should_overwrite = FALSE, action_name = "creating" )
options_file_name |
[character] Name of the new user options file, including the suffix. |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
template_path |
[character, optional] Full path to the options template file. |
user_input |
[list, optional] A named list of user-supplied values for these options, using either flat dotted-path names (e.g. |
should_validate |
[logical, optional] If TRUE, validate the new options file against the template. Defaults to TRUE. |
should_overwrite |
[logical, optional] If TRUE, overwrite the file if it already exists. Defaults to FALSE, in which case the user is prompted to confirm the overwrite. |
action_name |
[character, optional] A name for the action being performed. This is used for logging purposes. Defaults to "create".
|
NULL
Provide a name of a user options file to delete, and delete that file. options_remove() is an alias.
options_delete( options_file_name = NULL, options_dir = NULL, skip_confirmation = FALSE ) options_remove( options_file_name = NULL, options_dir = NULL, skip_confirmation = FALSE )options_delete( options_file_name = NULL, options_dir = NULL, skip_confirmation = FALSE ) options_remove( options_file_name = NULL, options_dir = NULL, skip_confirmation = FALSE )
options_file_name |
[character, optional] Name of the options file to delete. If not provided, the user will be prompted. Defaults to |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
skip_confirmation |
[boolean, optional] If passed as TRUE, the user will not be prompted for deletion confirmation. Defaults to FALSE. |
NULL
Compares two user options files, printing the options whose values differ between them, followed by each file's deviations from the template defaults.
options_diff( options_file_name_a = NULL, options_file_name_b = NULL, options_dir = NULL, template_path = NULL )options_diff( options_file_name_a = NULL, options_file_name_b = NULL, options_dir = NULL, template_path = NULL )
options_file_name_a |
[character, optional] Name of the first options file to compare. If not provided, the user will be prompted. Defaults to |
options_file_name_b |
[character, optional] Name of the second options file to compare. If not provided, the user will be prompted. Defaults to |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
template_path |
[character, optional] Full path to the options template file. Defaults to |
List-typed options (such as data.columns) are compared entry by
entry, so the diff names the individual column mappings that differ rather
than reporting the whole store as changed.
[list] Invisibly, a list with the compared files, a differences data frame, and a deviations list holding one data frame of template-default deviations per file.
Fix a user options file by setting the default values for missing options.
options_fix( options_file_name = NULL, options_dir = NULL, template_path = NULL, force_default_overwrites = TRUE )options_fix( options_file_name = NULL, options_dir = NULL, template_path = NULL, force_default_overwrites = TRUE )
options_file_name |
[character, optional] Name of the options file to fix, including the .yaml suffix. Defaults to |
options_dir |
[character, optional] Path to the folder in which to look for user options files. Defaults to |
template_path |
[character, optional] Path to the options template file. Defaults to |
force_default_overwrites |
[logical, optional] If set to TRUE, the function will overwrite the existing options file with the default values. Defaults to TRUE. |
The function will attempt to load the user options file and validate it. If any errors are found, the function will attempt to fix them by setting the default values for the missing options.
NULL Fixes the user options file.
Prints information for each requested option (or all options if options is NULL).
options_help(options = NULL, template_path = NULL)options_help(options = NULL, template_path = NULL)
options |
[character, optional] A single option name (dot-separated), a
group name, or a character vector thereof. If |
template_path |
[character, optional] Path to the template YAML file.
Defaults to |
Called without arguments, the whole option tree is printed, grouped by
top-level section, one line per option carrying its name, type and default.
Named options are printed in full, with their help text. A name that matches
a group rather than a single option (e.g. "methods.bma", or "methods")
expands to every option underneath it.
Invisibly returns NULL, printing the requested information
to the console.
Retrieves the list of the existing options files and returns their names as a character vector. By default, this retrieves the names of the files including the yaml suffix, but can be modified to retrieve options verbose names instead.
options_list( options_dir = NULL, should_return_verbose_names = FALSE, details = FALSE, template_path = NULL )options_list( options_dir = NULL, should_return_verbose_names = FALSE, details = FALSE, template_path = NULL )
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
should_return_verbose_names |
[logical, optional] If set to TRUE, the custom names of each of the options files are read and returned instead of file names. Defaults to FALSE. |
details |
[logical, optional] If set to TRUE, a |
template_path |
[character, optional] Full path to the options template file, used to resolve the defaults when |
[vector, character | data.frame] A character vector with the names of the options available, or a data.frame when details = TRUE.
Load user options by their name and return them as a list.
options_load( options_file_name = NULL, options_dir = NULL, create_options_if_null = TRUE, load_with_prefix = TRUE, template_path = NULL, should_validate = TRUE, should_add_temp_options = FALSE, should_return = TRUE )options_load( options_file_name = NULL, options_dir = NULL, create_options_if_null = TRUE, load_with_prefix = TRUE, template_path = NULL, should_validate = TRUE, should_add_temp_options = FALSE, should_return = TRUE )
options_file_name |
[character, optional] Name of the options to load. The |
options_dir |
[character, optional] Path to the folder in which to look for user options files. Defaults to |
create_options_if_null |
[logical, optional] If set to TRUE and the options file name is set to NULL, the function will prompt the user to create a new options file. Defaults to TRUE. |
load_with_prefix |
[logical, optional] Whether the options should be loaded with the package prefix. Defaults to TRUE. |
template_path |
[character, optional] Path to the template YAML file. Defaults to |
should_validate |
[logical, optional] Whether the options should be validated after loading. Defaults to TRUE. |
should_add_temp_options |
[logical, optional] Whether the options should be added to the temporary options. Defaults to FALSE. |
should_return |
[logical, optional] Whether the function should return the list of options. Defaults to FALSE. |
In case the options name is not passed, the function will attempt to load the current options configuration. If none is found, it will then attempt to load the default options. If that fails too, an error is raised.
[list|NULL] The loaded options as a list or NULL.
Modify an existing user options file with new values.
options_modify( options_file_name = NULL, options_dir = NULL, template_path = NULL, user_input = list(), should_validate = TRUE )options_modify( options_file_name = NULL, options_dir = NULL, template_path = NULL, user_input = list(), should_validate = TRUE )
options_file_name |
[character, optional] Name of the user options file to modify, including the suffix. |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
template_path |
[character, optional] Full path to the options template file. Defaults to |
user_input |
[list, optional] A named list of user-supplied values for these options, using either flat dotted-path names (e.g. |
should_validate |
[logical, optional] If TRUE, validate the modified options file against the template. Defaults to TRUE. |
NULL
Open an options file for editing. Must be run interactively. The editor is resolved from: (1) cli.editor option, (2) VISUAL/EDITOR env vars, or (3) system default file handler.
options_open(options_file_name = NULL, options_dir = NULL)options_open(options_file_name = NULL, options_dir = NULL)
options_file_name |
[character, optional] Name of the user options file to modify, including the suffix. |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
NULL Opens the file for editing
Prints the full path to the directory where user options are stored by default
options_print_default_dir(...)options_print_default_dir(...)
... |
[any] Additional arguments. |
NULL Prints the default directory to console.
This function reads a YAML template and an options file, flattens both structures, and then checks that:
Every option defined in the template is present in the options file.
The value for each option is of the correct type.
(Optionally) It warns about extra options in the file that are not defined in the template.
options_validate( options_file_name = NULL, options_dir = NULL, should_flag_redundant = FALSE, template_path = NULL, failure_action = "abort_verbose" )options_validate( options_file_name = NULL, options_dir = NULL, should_flag_redundant = FALSE, template_path = NULL, failure_action = "abort_verbose" )
options_file_name |
[character] Name of the user options file to validate, including the suffix. |
options_dir |
[character, optional] Full path to the folder that contains user options files. If not provided, the default folder is chosen. Defaults to |
should_flag_redundant |
[logical, optional] If TRUE, warn the user about any extraneous options (i.e., options not defined in the options template, such as custom options that the user might have added). Defaults to FALSE. |
template_path |
[character, optional] Full path to the options template file. Defaults to |
failure_action |
[character] Action to take if validation fails. Can be one of: 'abort_verbose', 'abort_quiet', 'return_errors_verbose', 'return_errors_quiet'. Defaults to 'abort_verbose'.
|
For each problem found (missing option or type mismatch), an error message is printed.
[list] The validation errors
Print method for box_plot results
## S3 method for class 'artma_box_plot' print(x, ...)## S3 method for class 'artma_box_plot' print(x, ...)
x |
An artma_box_plot object |
... |
Additional arguments (ignored) |
x invisibly
Print method for funnel_plot results
## S3 method for class 'artma_funnel_plot' print(x, ...)## S3 method for class 'artma_funnel_plot' print(x, ...)
x |
An artma_funnel_plot object |
... |
Additional arguments (ignored) |
x invisibly
Print method for t_stat_histogram results
## S3 method for class 'artma_t_stat_histogram' print(x, ...)## S3 method for class 'artma_t_stat_histogram' print(x, ...)
x |
An artma_t_stat_histogram object |
... |
Additional arguments (ignored) |
x invisibly
Turn the results of an artma() run into a single self-contained HTML file:
a metadata header, a table of contents, and one section per method with its
tables and plots. The file has no external dependencies (all styling is
inline and every plot is embedded as a base64 PNG), so it can be shared on
its own.
The report can also be produced automatically at the end of every run by
setting the output.report option to TRUE.
report_render(results, output_file = NULL, open = interactive())report_render(results, output_file = NULL, open = interactive())
results |
[list] The named list returned by |
output_file |
[character, optional] Absolute path of the HTML file to
write. When |
open |
[logical, optional] Whether to open the report in a browser
after writing it. Only ever honoured in an interactive session. Defaults to
|
Plots come from the run.json manifest a run leaves in its output directory:
it records which files each method wrote, so the report embeds exactly those.
A results directory without a manifest (written before manifests existed, or
by a run with output.save_results off) yields a report with tables only.
[character] The path of the written report file (invisibly).
## Not run: res <- artma(methods = c("funnel_plot", "effect_summary_stats"), options = "my.yaml") report_render(res) # Write to a specific location and open it report_render(res, output_file = "~/analysis/report.html", open = TRUE) ## End(Not run)## Not run: res <- artma(methods = c("funnel_plot", "effect_summary_stats"), options = "my.yaml") report_render(res) # Write to a specific location and open it report_render(res, output_file = "~/analysis/report.html", open = TRUE) ## End(Not run)
Returns the resolved path to the output directory where analysis results (tables, graphics) are saved. The path is printed and returned invisibly. When called without arguments, tries to use the most recently exported directory without prompting for an options file.
results_dir(options = NULL, options_dir = NULL)results_dir(options = NULL, options_dir = NULL)
options |
[character, optional] Name of the options file (with or
without |
options_dir |
[character, optional] Directory containing the options
file. If |
[character] The resolved output directory path (invisibly).
## Not run: # Get the most recent results directory results_dir() # Get results dir for a specific options file results_dir(options = "my_analysis.yaml") ## End(Not run)## Not run: # Get the most recent results directory results_dir() # Get results dir for a specific options file results_dir(options = "my_analysis.yaml") ## End(Not run)
Opens the output directory in the system file browser (Finder on macOS, Explorer on Windows, or the default file manager on Linux). When called without arguments, tries to open the most recently exported results directory without prompting for an options file.
results_open(options = NULL, options_dir = NULL, use_last = TRUE)results_open(options = NULL, options_dir = NULL, use_last = TRUE)
options |
[character, optional] Name of the options file (with or
without |
options_dir |
[character, optional] Directory containing the options
file. If |
use_last |
[logical] If |
[character] The resolved output directory path (invisibly).
## Not run: # Open the most recent results (no prompt if a recent export exists) results_open() # Force options-based resolution (will prompt if needed) results_open(use_last = FALSE) # Open results for a specific options file results_open(options = "my_analysis.yaml") ## End(Not run)## Not run: # Open the most recent results (no prompt if a recent export exists) results_open() # Force options-based resolution (will prompt if needed) results_open(use_last = FALSE) # Open results for a specific options file results_open(options = "my_analysis.yaml") ## End(Not run)
Get the current visualization settings. Returns all settings as a list, or a single setting by name.
viz_get(option = NULL)viz_get(option = NULL)
option |
[character, optional] Name of a specific option to retrieve.
One of: |
A named list of all visualization settings, or a single setting value.
## Not run: # Get all visualization settings viz_get() # Get just the current theme viz_get("theme") # Get export path viz_get("export_path") ## End(Not run)## Not run: # Get all visualization settings viz_get() # Get just the current theme viz_get("theme") # Get export path viz_get("export_path") ## End(Not run)
Set visualization options for the current session. Only provided arguments are changed; others remain unchanged.
viz_set( theme = NULL, export_graphics = NULL, export_path = NULL, graph_scale = NULL )viz_set( theme = NULL, export_graphics = NULL, export_path = NULL, graph_scale = NULL )
theme |
[character, optional] Color theme. Use |
export_graphics |
[logical, optional] If TRUE, export plots to files. |
export_path |
[character, optional] Directory path for exported plots. |
graph_scale |
[numeric, optional] Scaling factor for exported graphics. Values > 1 increase resolution. |
Previous settings (invisibly), enabling easy restoration.
## Not run: # Change theme viz_set(theme = "purple") # Enable export with custom path viz_set(export_graphics = TRUE, export_path = "./output/plots") # Save and restore settings prev <- viz_set(theme = "red") # ... do work ... do.call(viz_set, prev) ## End(Not run)## Not run: # Change theme viz_set(theme = "purple") # Enable export with custom path viz_set(export_graphics = TRUE, export_path = "./output/plots") # Save and restore settings prev <- viz_set(theme = "red") # ... do work ... do.call(viz_set, prev) ## End(Not run)
Get the names of all available visualization themes.
viz_themes()viz_themes()
[character] Vector of valid theme names.
## Not run: viz_themes() # [1] "blue" "yellow" "green" "red" "purple" ## End(Not run)## Not run: viz_themes() # [1] "blue" "yellow" "green" "red" "purple" ## End(Not run)